blob: 7da8b048639961f41e01459ff60eb56c5096e484 [file] [log] [blame]
---
# Run pull request verify job for each fabric profile and architecture
- job-template:
id: 'pr-verify-{profile}-{arch}'
name: pr-verify-{profile}-{arch}
description: |
Created by {id} job-template from ci-management/jjb/templates/fabric-tna-jobs.yaml<br/>
properties:
# Visibility restricted to because logs contain output from
# Barefoot toolchain (under NDA).
- onf-infra-pronto-private:
- onf-infra-properties:
build-days-to-keep: '15'
artifact-num-to-keep: '-1'
- github:
url: 'https://github.com/{github-organization}/{project}'
project-type: pipeline
concurrent: true
parameters:
- string:
name: buildNode
default: "{medium-build-node}"
description: "Name of the Jenkins executor node to run the job on."
- string:
name: sha1
default: "origin/{stream}"
description: "SHA string of the pull request commit to build. Populated by GitHUb Pull Request Builder."
- string:
name: profile
default: "{profile}"
description: "Profile to build and test."
- string:
name: architecture
default: "{arch}"
description: "P4 architecture to use (v1model or tna)."
# Run pipeline that is checked-in in the same PR we want to verify.
pipeline-scm:
script-path: ".jenkins/Jenkinsfile"
scm:
- onf-infra-github-ssh-scm:
github-organization: '{github-organization}'
project: '{project}'
branch: "$sha1"
ssh-credential: "{github-onf-bot-ssh-credential}"
triggers:
- onf-infra-github-pr-trigger:
github_pr_org_list: '{obj:github_pr_org_list}'
github_pr_auth_id: '{github_pr_auth_id}'
status_context: 'pr-verify-{profile}-{arch}'
wrappers:
- lf-infra-wrappers:
build-timeout: '80'
jenkins-ssh-credential: '{github-onf-bot-ssh-credential}'
- credentials-binding:
- username-password-separated:
credential-id: docker-artifact-push-credentials
username: DOCKERHUB_USERNAME
password: DOCKERHUB_PASSWORD
- credentials-binding:
- username-password-separated:
credential-id: aether-internal-registry
username: AETHER_REGISTRY_USERNAME
password: AETHER_REGISTRY_PASSWORD
- credentials-binding:
- username-password-separated:
credential-id: onf-internal-registry
username: ONF_REGISTRY_USERNAME
password: ONF_REGISTRY_PASSWORD
- credentials-binding:
- text:
credential-id: codecov-fabric-tna
variable: CODECOV_TOKEN
- job-template:
id: 'postmerge-{profile}-{arch}'
name: 'postmerge-{profile}-{arch}'
description: |
Created by {id} job-template from ci-management/jjb/templates/fabric-tna-jobs.yaml<br/>
properties:
# Visibility restricted to because logs contain output from
# Barefoot toolchain (under NDA).
- onf-infra-pronto-private:
- onf-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '-1'
- github:
url: 'https://github.com/{github-organization}/{project}'
project-type: pipeline
concurrent: true
parameters:
- onf-infra-github-pr-merge-parameters:
repo-name: '{project}'
repo-url: 'git@github.com:{github-organization}/{project}.git'
branch: '{stream}'
sha1: '{stream}'
- string:
name: buildNode
default: "{medium-build-node}"
description: "Name of the Jenkins executor node to run the job on."
- string:
name: profile
default: "{profile}"
description: "Profile to be built and tested."
- string:
name: architecture
default: "{arch}"
description: "P4 architecture to use (v1model or tna)."
pipeline-scm:
script-path: ".jenkins/Jenkinsfile"
scm:
- onf-infra-github-ssh-scm:
github-organization: '{github-organization}'
project: '{project}'
branch: "$commitHash"
ssh-credential: "{github-onf-bot-ssh-credential}"
triggers:
- onf-infra-github-pr-trigger-merge:
project: '{project}'
- timed: "@midnight"
wrappers:
- lf-infra-wrappers:
build-timeout: '80'
jenkins-ssh-credential: '{github-onf-bot-ssh-credential}'
- credentials-binding:
- username-password-separated:
credential-id: docker-artifact-push-credentials
username: DOCKERHUB_USERNAME
password: DOCKERHUB_PASSWORD
- credentials-binding:
- username-password-separated:
credential-id: aether-internal-registry
username: AETHER_REGISTRY_USERNAME
password: AETHER_REGISTRY_PASSWORD
- credentials-binding:
- username-password-separated:
credential-id: onf-internal-registry
username: ONF_REGISTRY_USERNAME
password: ONF_REGISTRY_PASSWORD
- credentials-binding:
- text:
credential-id: codecov-fabric-tna
variable: CODECOV_TOKEN
- job-template:
id: 'fabric-tna-linerate-tests'
name: 'fabric-tna-linerate-tests'
description: |
Created by {id} job-template from ci-management/jjb/fabric-tna-jobs.yaml, script ../pipeline/fabric-tna.groovy<br/>
# Cron syntax; trigger daily at 23:00 PST
triggers:
- timed: |
TZ=US/Pacific
H 23 * * *
properties:
- onf-infra-onfstaff-private:
- onf-infra-properties:
build-days-to-keep: '15'
artifact-num-to-keep: '15'
wrappers:
- lf-infra-wrappers:
build-timeout: '60'
jenkins-ssh-credential: '{github-onf-bot-ssh-credential}'
parameters:
- string:
name: BUILD_NODE
default: 'menlo-pdp-lotta-nics'
description: 'Name of the Jenkins build executor to run the job on'
- string:
name: GIT_URL
default: 'git@github.com:stratum/fabric-tna.git'
description: 'Location of fabric-tna repository that tests will check'
- string:
name: GIT_BRANCH
default: 'main'
description: 'Name of Git branch to pull from fabric-tna repository'
- string:
name: PROFILE
default: 'fabric-spgw-int'
description: 'Name of the flavor of linerate tests to run'
- string:
name: SWITCH_IP
default: '10.128.13.29'
description: 'Address of the Stratum service (P4Runtime, gNMI, etc.) running on the remote switch'
- string:
name: STRATUM_PORT
default: '28000'
description: 'Port of the Stratum service (P4Runtime, gNMI, etc.) running on the remote switch'
project-type: pipeline
concurrent: true
extraEnvironmentVars: ""
sandbox: true
dsl: !include-raw-escape: ../pipeline/fabric-tna-hardware.groovy