From: maelk Date: Sun, 1 Mar 2020 10:09:06 +0000 (+0200) Subject: Airship: add cleanup jobs for integration tests X-Git-Url: https://gerrit.nordix.org/gitweb?a=commitdiff_plain;h=37e9bd86c18762f2cc2e94e403a28589e9fae2b4;p=infra%2Fcicd.git Airship: add cleanup jobs for integration tests Change-Id: I27fb5f2b27b08e1459d7bf81ef8453b02676189e --- diff --git a/jjb/airship/job_capi_bm_clean.yml b/jjb/airship/job_capi_bm_clean.yml new file mode 100644 index 000000000..19a9814ee --- /dev/null +++ b/jjb/airship/job_capi_bm_clean.yml @@ -0,0 +1,97 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests +# cleanup. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_clean + name: '{job_prefix}_{name}_integration_test_clean' + description: "K8s CAPI baremetal integration tests cleanup" + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/{repo[org]}/{repo[name]} + + triggers: + - github-pull-request: + admin-list: + - '{ci_github_admin_user}' + org-list: "{ci_github_whitelist_org}" + cron: 'H/5 * * * *' + auth-id: "{ci_ghprb_auth_id}" + trigger-phrase: '/test-clean' + skip-build-phrase: '/skip-test' + only-trigger-phrase: True + github-hooks: True + permit-all: False + auto-close-on-fail: False + allow-whitelist-orgs-as-admins: True + white-list-target-branches: + - 'master' + status-context: "test-clean" + success-status: "Passed" + failure-status: "Failed" + error-status: "Error" + cancel-builds-on-update: True + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/job_capi_bm_master_clean.yml b/jjb/airship/job_capi_bm_master_clean.yml new file mode 100644 index 000000000..a169458f3 --- /dev/null +++ b/jjb/airship/job_capi_bm_master_clean.yml @@ -0,0 +1,77 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests +# cleanup. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_master_clean + name: '{job_prefix}_{name}_master_integration_test_clean' + description: "K8s CAPI baremetal integration tests cleanup" + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + + triggers: + - timed: "0 */6 * * *" + + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/projects.yml b/jjb/airship/projects.yml index 59546d6a6..b6d52a13d 100644 --- a/jjb/airship/projects.yml +++ b/jjb/airship/projects.yml @@ -60,6 +60,30 @@ - capi_bm_v1a3_integration_tests_centos - capi_bm_v1a3_integration_tests_ubuntu +- project: + name: 'metal3io_project_infra_cleanup' + ci_github_whitelist_org: + - nordix-airship + repo: + org: "metal3-io" + name: "project-infra" + ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline' + jobs: + - capi_bm_master_clean + +- project: + name: 'metal3io_project_infra_cleanup_test' + branch: '${{ghprbActualCommit}}' + ci_github_whitelist_org: + - nordix-airship + repo: + org: "metal3-io" + name: "project-infra" + ci_github_repo: '${{ghprbAuthorRepoGitUrl}}' + ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline' + jobs: + - capi_bm_clean + - project: name: "metal3io_bmo" repo: