| --- |
| # omec-ci jobs |
| # Uses github pull request builder to trigger and Jenkinsfiles from this repo |
| # https://github.com/omec-project/omec-project-ci |
| |
| # generic OMEC test-case jobs, shared by other projects and triggered within pipelines |
| - project: |
| name: omec |
| build-node: 'intel-102' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-tc1' |
| - 'omec-tc2' |
| - 'omec-deploy-staging' |
| - 'omec-postmerge': |
| project: '{name}' |
| build-node: 'omec-qa' |
| c3po-branch-name: 'multiUpfs' |
| ngic-branch-name: 'central-cp-multi-upfs' |
| openmme-branch-name: 'master' |
| pipeline-file: 'omec-postmerge.groovy' |
| |
| # for ngic-rtc |
| - project: |
| name: ngic-rtc |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'openmme' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'central-cp-multi-upfs' |
| pipeline-file: 'Jenkinsfile-omec-install-ngic-rtc-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu16.04-basebuild-4c-8g' |
| - 'omec-comac-in-a-box': |
| build-node: 'comac_in_a_box' |
| |
| # for c3po |
| - project: |
| name: c3po |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'openmme' |
| - 'omec-install': |
| sub-project: 'c3po-sgx' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-c3po-sgx-vnf.groovy' |
| - 'omec-install': |
| sub-project: 'c3po-hss' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-c3po-hss-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu16.04-basebuild-8c-15g' |
| - 'omec-comac-in-a-box': |
| build-node: 'comac_in_a_box' |
| |
| # for openmme |
| - project: |
| name: openmme |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'openmme' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-openmme-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu16.04-basebuild-1c-2g' |
| - 'omec-comac-in-a-box': |
| build-node: 'comac_in_a_box' |
| |
| # for nucleus |
| - project: |
| name: Nucleus |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'Nucleus' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-Nucleus-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-comac-in-a-box': |
| build-node: 'comac_in_a_box' |
| |
| # for freediameter |
| - project: |
| name: freediameter |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| |
| # for ignite |
| - project: |
| name: ignite |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| |
| # for upf-epc |
| - project: |
| name: upf-epc |
| project: '{name}' |
| |
| github-organization: 'omec-project' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'omec-qa' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'omec-qa' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu16.04-basebuild-2c-4g' |
| extraEnvironmentVars: CPU=haswell |
| |
| # Combined pipeline |
| - job-template: |
| id: 'omec-combined' |
| name: 'omec_{project}_combined' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| - build-blocker: |
| use-build-blocker: true |
| blocking-jobs: |
| - "omec_.*_combined" |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: mmeRepo |
| default: '{mme-repo}' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Combined Steps Verification' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: '{pipeline-file}' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # install jobs, run for each project |
| - job-template: |
| id: 'omec-install' |
| name: 'omec_{sub-project}_install' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: branch |
| default: '{branch}' |
| description: 'Branch of the project' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: '{pipeline-file}' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # FOSSA License Scan |
| - job-template: |
| id: 'omec-fossa' |
| name: 'omec_{project}_fossa' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'Pull request number to fetch changes from. Leave blank to run manually.' |
| |
| - string: |
| name: branch |
| default: '$ghprbTargetBranch' |
| description: 'Branch to run. Only used when manually run.' |
| |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbGhRepository |
| default: '{github-organization}/{project}' |
| description: 'Repository of the project.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - FOSSA Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # REUSE License Scan |
| - job-template: |
| id: 'omec-reuse' |
| name: 'omec_{project}_reuse' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'Pull request number to fetch changes from. Leave blank to run manually.' |
| |
| - string: |
| name: branch |
| default: '$ghprbTargetBranch' |
| description: 'Branch to run. Only used when manually run.' |
| |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbGhRepository |
| default: '{github-organization}/{project}' |
| description: 'Repository of the project.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Licenses Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # tests |
| - job-template: |
| id: 'omec-tc1' |
| name: 'omec_tc1' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: mmeRepo |
| default: 'openmme' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-test-TC1.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/omec-project/omec-project-ci' |
| branches: |
| - 'master' |
| |
| - job-template: |
| id: 'omec-tc2' |
| name: 'omec_tc2' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: mmeRepo |
| default: 'openmme' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-test-TC2.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/omec-project/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # Deploy staging |
| - job-template: |
| id: 'omec-deploy-staging' |
| name: 'omec-deploy-staging' |
| project-type: pipeline |
| |
| description: | |
| Automated build on AMI executor using pipeline/omec-deploy-staging.groovy. <br /><br /> |
| Created from job-template {id} from ci-management/jjb/charts.yaml <br /> |
| Created by Jeremy Ronquillo - jeremyr@opennetworking.org <br /> |
| Copyright (c) 2020 Open Networking Foundation (ONF) |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: 'omec-staging' |
| description: 'Name of the Jenkins executor node to run the job on.' |
| - bool: |
| name: useProductionCluster |
| default: false |
| description: 'Check this option to use the production cluster instead of the staging cluster. <b>Use with caution.</b>' |
| - string: |
| name: registry |
| default: 'omecproject' |
| description: 'Registry for all images that will be changed.' |
| - string: |
| name: hssdb_tag |
| default: '' |
| description: 'Tag for hssdb. Leave hssdb tag blank to omit changing.' |
| - string: |
| name: hss_tag |
| default: '' |
| description: 'Tag for hss. Leave hss tag blank to omit changing.' |
| - string: |
| name: mme_tag |
| default: '' |
| description: 'Tag for mme. Leave mme tag blank to omit changing.' |
| - string: |
| name: mmeExporter_tag |
| default: '' |
| description: 'Tag for mmeExporter. Leave mmeExporter tag blank to omit changing.' |
| - string: |
| name: spgwc_tag |
| default: '' |
| description: 'Tag for spgwc. Leave spgwc tag blank to omit changing.' |
| - string: |
| name: spgwu_tag |
| default: '' |
| description: 'Tag for spgwu. Leave spgwu tag blank to omit changing.' |
| |
| concurrent: false |
| |
| dsl: !include-raw-escape: pipeline/omec-deploy-staging.groovy |
| |
| # Post-merge job |
| # Triggered by Github pull request merge |
| - job-template: |
| id: omec-postmerge |
| name: '{project}_postmerge' |
| description: | |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| triggers: |
| - cord-infra-github-pr-trigger-merge: |
| project: '{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins node to run the job on' |
| |
| - string: |
| name: repoName |
| default: '' |
| description: 'Name of the git repo. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: repoUrl |
| default: '' |
| description: 'URL to the git repo. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: branchName |
| default: '' |
| description: 'Branch of the project. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: commitHash |
| default: '' |
| description: 'SHA string of the merged commit. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: c3poBranchName |
| default: '{c3po-branch-name}' |
| description: 'Branch name of c3po repo which we run tests against' |
| |
| - string: |
| name: ngicBranchName |
| default: '{ngic-branch-name}' |
| description: 'Branch name of ngic-rtc repo which we run tests against' |
| |
| - string: |
| name: openmmeBranchName |
| default: '{openmme-branch-name}' |
| description: 'Branch name of openmme repo which we run tests against' |
| |
| - string: |
| name: maintainers |
| default: 'jeremyr@opennetworking.org, you@opennetworking.org' |
| description: "The person that sould be notified if this job fails" |
| |
| project-type: pipeline |
| concurrent: true |
| |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |