- project: # ghpr_auth, antrea_admin_list, antrea_org_list and antrea_white_list # should be defined as a global variable somewhere else name: antrea git_credentials_id: ANTREA_GIT_CREDENTIAL org_repo: antrea-io/antrea jobs: - '{name}-{test_name}-for-period': test_name: job-updater node: 'antrea-test-node' description: 'This is for updating all antrea jobs.' builders: - builder-job-updater: jenkins_location: cloud branches: - '*/main' included_regions: - ci/jenkins/jobs/.* cron: 'H/15 * * * *' ignore_post_commit_hooks: false publishers: [] wrappers: [] - '{name}-{test_name}-no-scm': test_name: e2e-pending-label node: null description: 'This is for marking PR as pending for e2e test.' branches: - ${{sha1}} builders: - builder-pending-label trigger_phrase: null white_list_target_branches: [] allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: [] only_trigger_phrase: false trigger_permit_all: true status_context: jenkins-e2e status_url: --none-- success_status: Pending test. Mark as failure. Add comment /test-e2e to trigger. failure_status: Pending test. Mark as failure. Add comment /test-e2e to trigger. error_status: Pending test. Mark as failure. Add comment /test-e2e to trigger. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-pull-request': test_name: e2e node: 'antrea-test-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-e2e trigger_phrase: ^(?!Thanks for your PR).*/test-(e2e|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-e2e status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-e2e to re-trigger. error_status: Failed. Add comment /test-e2e to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 150 type: absolute - credentials-binding: - text: credential-id: VMC_NETWORK_0 variable: VMC_NETWORK_0 - text: credential-id: VMC_NETWORK_1 variable: VMC_NETWORK_1 - text: credential-id: VCENTERNAME variable: VCENTERNAME - text: credential-id: DATACENTERNAME variable: DATACENTERNAME - text: credential-id: RESOURCEPOOLPATH variable: RESOURCEPOOLPATH - text: credential-id: CAPVC_USERNAME variable: CAPVC_USERNAME - text: credential-id: CAPVC_PASSWORD variable: CAPVC_PASSWORD - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz, e2e-coverage.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-no-scm': test_name: e2e-skip node: null description: 'This is for marking PR as passed.' branches: - ${{sha1}} builders: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false trigger_phrase: ^(?!Thanks for your PR).*/skip-(e2e|all$).* white_list_target_branches: [] status_context: jenkins-e2e status_url: --none-- success_status: Skipped test. Mark as succeeded. failure_status: Skipped test. Mark as succeeded. error_status: Skipped test. Mark as succeeded. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-no-scm': test_name: conformance-pending-label node: null description: 'This is for marking PR as pending for conformance test.' branches: - ${{sha1}} builders: - builder-pending-label trigger_phrase: null white_list_target_branches: [] allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: [] only_trigger_phrase: false trigger_permit_all: true status_context: jenkins-conformance status_url: --none-- success_status: Pending test. Mark as failure. Add comment /test-conformance to trigger. failure_status: Pending test. Mark as failure. Add comment /test-conformance to trigger. error_status: Pending test. Mark as failure. Add comment /test-conformance to trigger. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-pull-request': test_name: conformance node: 'antrea-test-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance: conformance_type: 'conformance' trigger_phrase: ^(?!Thanks for your PR).*/test-(conformance|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-conformance to re-trigger. error_status: Failed. Add comment /test-conformance to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 80 type: absolute - credentials-binding: - text: credential-id: VMC_NETWORK_0 variable: VMC_NETWORK_0 - text: credential-id: VMC_NETWORK_1 variable: VMC_NETWORK_1 - text: credential-id: VCENTERNAME variable: VCENTERNAME - text: credential-id: DATACENTERNAME variable: DATACENTERNAME - text: credential-id: RESOURCEPOOLPATH variable: RESOURCEPOOLPATH - text: credential-id: CAPVC_USERNAME variable: CAPVC_USERNAME - text: credential-id: CAPVC_PASSWORD variable: CAPVC_PASSWORD - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: 'ci/jenkins/*sonobuoy*.tar.gz, conformance-coverage.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-no-scm': test_name: conformance-skip node: null description: 'This is for marking PR as passed.' branches: - ${{sha1}} builders: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false trigger_phrase: ^(?!Thanks for your PR).*/skip-(conformance|all$).* white_list_target_branches: [] status_context: jenkins-conformance status_url: --none-- success_status: Skipped test. Mark as succeeded. failure_status: Skipped test. Mark as succeeded. error_status: Skipped test. Mark as succeeded. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-no-scm': test_name: all-features-conformance-pending-label node: null description: 'This is for marking PR as pending for conformance test with all alpha features enabled.' branches: - ${{sha1}} builders: - builder-pending-label trigger_phrase: null white_list_target_branches: [] allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: [] only_trigger_phrase: false trigger_permit_all: true status_context: jenkins-all-features-conformance status_url: --none-- success_status: Pending test. Mark as failure. Add comment /test-all-features-conformance to trigger. failure_status: Pending test. Mark as failure. Add comment /test-all-features-conformance to trigger. error_status: Pending test. Mark as failure. Add comment /test-all-features-conformance to trigger. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-pr': # The cluster name of this job could be too long since job name is encoded in CAPI cluster name. # Use the shorter name as a workaround. test_name: all-features-conformance node: 'antrea-test-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance: conformance_type: 'all-features-conformance' trigger_phrase: ^(?!Thanks for your PR).*/test-(all-features-conformance|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-all-features-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-all-features-conformance to re-trigger. error_status: Failed. Add comment /test-all-features-conformance to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 80 type: absolute - credentials-binding: - text: credential-id: CAPVC_USERNAME variable: CAPVC_USERNAME - text: credential-id: CAPVC_PASSWORD variable: CAPVC_PASSWORD - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: 'ci/jenkins/*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-no-scm': test_name: all-features-conformance-skip node: null description: 'This is for marking PR as passed.' branches: - ${{sha1}} builders: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false trigger_phrase: ^(?!Thanks for your PR).*/skip-(all-features-conformance|all$).* white_list_target_branches: [] status_context: jenkins-all-features-conformance status_url: --none-- success_status: Skipped test. Mark as succeeded. failure_status: Skipped test. Mark as succeeded. error_status: Skipped test. Mark as succeeded. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-pull-request': test_name: whole-conformance node: 'antrea-test-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance: conformance_type: 'whole-conformance' trigger_phrase: .*/test-(whole-conformance).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-whole-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-whole-conformance to re-trigger. error_status: Failed. Add comment /test-whole-conformance to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 240 type: absolute - credentials-binding: - text: credential-id: VMC_NETWORK_0 variable: VMC_NETWORK_0 - text: credential-id: VMC_NETWORK_1 variable: VMC_NETWORK_1 - text: credential-id: VCENTERNAME variable: VCENTERNAME - text: credential-id: DATACENTERNAME variable: DATACENTERNAME - text: credential-id: RESOURCEPOOLPATH variable: RESOURCEPOOLPATH - text: credential-id: CAPVC_USERNAME variable: CAPVC_USERNAME - text: credential-id: CAPVC_PASSWORD variable: CAPVC_PASSWORD - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: 'ci/jenkins/*sonobuoy*.tar.gz, whole-conformance-coverage.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-no-scm': test_name: whole-conformance-skip node: null description: 'This is for marking PR as passed.' branches: - ${{sha1}} builders: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false trigger_phrase: .*/skip-(whole-conformance).* white_list_target_branches: [] status_context: jenkins-whole-conformance status_url: --none-- success_status: Skipped test. Mark as succeeded. failure_status: Skipped test. Mark as succeeded. error_status: Skipped test. Mark as succeeded. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-no-scm': test_name: networkpolicy-pending-label node: null description: 'This is for marking PR as pending for networkpolicy test.' branches: - ${{sha1}} builders: - builder-pending-label trigger_phrase: null white_list_target_branches: [] allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: [] only_trigger_phrase: false trigger_permit_all: true status_context: jenkins-networkpolicy status_url: --none-- success_status: Pending test. Mark as failure. Add comment /test-networkpolicy to trigger. failure_status: Pending test. Mark as failure. Add comment /test-networkpolicy to trigger. error_status: Pending test. Mark as failure. Add comment /test-networkpolicy to trigger. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-pull-request': test_name: networkpolicy node: 'antrea-test-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance: conformance_type: 'networkpolicy' trigger_phrase: ^(?!Thanks for your PR).*/test-(networkpolicy|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-networkpolicy status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-networkpolicy to re-trigger. error_status: Failed. Add comment /test-networkpolicy to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 120 type: absolute - credentials-binding: - text: credential-id: VMC_NETWORK_0 variable: VMC_NETWORK_0 - text: credential-id: VMC_NETWORK_1 variable: VMC_NETWORK_1 - text: credential-id: VCENTERNAME variable: VCENTERNAME - text: credential-id: DATACENTERNAME variable: DATACENTERNAME - text: credential-id: RESOURCEPOOLPATH variable: RESOURCEPOOLPATH - text: credential-id: CAPVC_USERNAME variable: CAPVC_USERNAME - text: credential-id: CAPVC_PASSWORD variable: CAPVC_PASSWORD - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: 'ci/jenkins/*sonobuoy*.tar.gz, networkpolicy-coverage.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-no-scm': test_name: networkpolicy-skip node: null description: 'This is for marking PR as passed.' branches: - ${{sha1}} builders: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false trigger_phrase: ^(?!Thanks for your PR).*/skip-(networkpolicy|all$).* white_list_target_branches: [] status_context: jenkins-networkpolicy status_url: --none-- success_status: Skipped test. Mark as succeeded. failure_status: Skipped test. Mark as succeeded. error_status: Skipped test. Mark as succeeded. triggered_status: null started_status: null wrappers: [] publishers: [] - '{name}-{test_name}-for-period': test_name: daily-whole-conformance node: 'antrea-test-node' description: 'This is for testing all conformance daily.' builders: - builder-conformance: conformance_type: 'whole-conformance' branches: - '*/main' included_regions: [] cron: 'H H * * *' ignore_post_commit_hooks: false publishers: - email: recipients: projectantrea-dev@googlegroups.com - archive: allow-empty: true artifacts: 'ci/jenkins/*sonobuoy*.tar.gz, whole-conformance-coverage.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false wrappers: - credentials-binding: - text: credential-id: VMC_NETWORK_0 variable: VMC_NETWORK_0 - text: credential-id: VMC_NETWORK_1 variable: VMC_NETWORK_1 - text: credential-id: VCENTERNAME variable: VCENTERNAME - text: credential-id: DATACENTERNAME variable: DATACENTERNAME - text: credential-id: RESOURCEPOOLPATH variable: RESOURCEPOOLPATH - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD - '{name}-{test_name}-for-gc': test_name: workload-cluster node: 'antrea-test-node' description: 'This is for deleting useless workload clusters.' builders: - builder-workload-cluster-garbage-collection timed: 'H * * * *' branches: - '*/main' included_regions: [] - '{name}-{test_name}-for-pull-request': test_name: list-tests node: null description: 'This is for listing all test choices.' branches: - ${{sha1}} builders: - builder-list-tests: org_repo: '{org_repo}' trigger_phrase: null white_list_target_branches: [] allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: - nobody123_nobody123_ only_trigger_phrase: false trigger_permit_all: true status_context: should_disappear # this value doesn't matter. status_url: null success_status: --none-- failure_status: --none-- error_status: --none-- triggered_status: --none-- started_status: --none-- wrappers: - credentials-binding: - username-password: credential-id: '{git_credentials_id}' variable: GH_CREDENTIAL publishers: [] - '{name}-{test_name}-job-validator': test_name: jenkins-job-validator node: 'antrea-test-node' description: 'This is for validating jenkins jobs code.' builders: - builder-job-validator trigger_phrase: null allow_whitelist_orgs_as_admins: false admin_list: [] org_list: [] white_list: - nobody123_nobody123_ only_trigger_phrase: false trigger_permit_all: true status_context: jenkins-jobs-validator status_url: null success_status: Validator passed. failure_status: Failed. error_status: Failed. triggered_status: null started_status: null wrappers: [] publishers: [] included_regions: - ci/jenkins/jobs/.* - 'cloud-{name}-{test_name}': test_name: auto-scaling-agents node: antrea-cloud description: 'This is a cloud job of auto scaling agents for antrea.' parameters: - string: name: sha1 default: main description: The default Antrea branch to check out for scheduled testing. branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' only_trigger_phrase: false trigger_permit_all: false builders: - shell: |- #!/bin/bash sudo gcloud auth login --cred-file=${{CREDENTIAL_PATH}} sudo gcloud config set project ${GKE_PROJECT} sudo ./ci/jenkins/scale-agent.sh --jenkins-user ${{JENKINS_USER}} --jenkins-token ${{JENKINS_TOKEN}} --gke-project ${GKE_PROJECT} \ --gke-network ${{GKE_NETWORK}} --gke-subnet ${{GKE_SUBNET}} concurrent: false trigger_phrase: ^(?!Thanks for your PR).*/scale-agent.* triggers: - timed: "H */4 * * *" publishers: [] wrappers: - credentials-binding: - text: credential-id: JENKINS_USER variable: JENKINS_USER - text: credential-id: JENKINS_TOKEN variable: JENKINS_TOKEN - text: credential-id: CREDENTIAL_PATH variable: CREDENTIAL_PATH - text: credential-id: GKE_NETWORK variable: GKE_NETWORK - text: credential-id: GKE_SUBNET variable: GKE_SUBNET - 'cloud-{name}-{test_name}': test_name: eks-conformance-net-policy node: antrea-cloud description: 'This is EKS conformance and network policy test for antrea.' branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' builders: - shell: |- #!/bin/bash sudo ./ci/test-conformance-eks.sh --aws-access-key ${{AWS_ACCESS_KEY}} --aws-secret-key ${{AWS_SECRET_KEY}} \ --aws-service-user-role-arn ${{AWS_SERVICE_USER_ROLE_ARN}} --cluster-name ${{JOB_NAME}}-${{BUILD_NUMBER}} \ --log-mode detail --setup-only triggers: - timed: H H */2 * * publishers: - archive: allow-empty: true artifacts: 'eks-test.log, *sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - trigger-parameterized-builds: - project: - cloud-{name}-eks-cleanup current-parameters: true property-file: 'ci_properties.txt' - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com wrappers: - credentials-binding: - text: credential-id: AWS_SERVICE_USER_ACCESS_KEY # Jenkins secret that stores aws access key variable: AWS_ACCESS_KEY - text: credential-id: AWS_SERVICE_USER_SECRET_KEY # Jenkins secret that stores aws secret key variable: AWS_SECRET_KEY - text: credential-id: AWS_SERVICE_USER_ROLE_ARN # Jenkins secret that stores aws role arn variable: AWS_SERVICE_USER_ROLE_ARN - 'cloud-{name}-{test_name}-cleanup': test_name: eks description: This is for deleting EKS test clusters. builders: - builder-eks-cluster-cleanup concurrent: false disabled: false node: antrea-cloud branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' publishers: - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com triggers: [] wrappers: [] - 'cloud-{name}-{test_name}': test_name: gke-conformance-net-policy node: antrea-cloud description: 'This is GKE conformance and network policy test for antrea.' branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' builders: - shell: |- #!/bin/bash # Prevent exposing credentials in the console output by adding set +x # This is to avoid other developers removing this set+x by accident set +x sudo gcloud auth login --cred-file=${{CREDENTIAL_PATH}} sudo ./ci/test-conformance-gke.sh --cluster-name antrea-gke-${{BUILD_NUMBER}} \ --svc-account ${{SERVICE_ACCOUNT}} --gcloud-sdk-path ${{GCLOUD_PATH}} \ --log-mode detail --setup-only --gke-project ${GKE_PROJECT} --shared-network \ --gke-network ${{GKE_NETWORK}} --gke-subnet ${{GKE_SUBNET}} triggers: - timed: H H */2 * * publishers: - archive: allow-empty: true artifacts: 'gke-test.log, *sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - trigger-parameterized-builds: - project: - cloud-{name}-gke-cleanup current-parameters: true property-file: 'ci_properties.txt' - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com wrappers: - credentials-binding: - text: credential-id: SERVICE_ACCOUNT # Jenkins secret that stores the cloud service account variable: SERVICE_ACCOUNT - text: credential-id: GKE_PROJECT variable: GKE_PROJECT - text: credential-id: GKE_NETWORK variable: GKE_NETWORK - text: credential-id: GKE_SUBNET variable: GKE_SUBNET - text: credential-id: CREDENTIAL_PATH variable: CREDENTIAL_PATH - text: credential-id: GCLOUD_PATH variable: GCLOUD_PATH - 'cloud-{name}-{test_name}-cleanup': test_name: gke description: This is for deleting GKE test clusters. builders: - builder-gke-cluster-cleanup concurrent: false disabled: false node: antrea-cloud branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' publishers: - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com triggers: [] wrappers: [] - '{name}-{test_name}-matrix-compatibility-test': test_name: weekly node: 'antrea-test-node' description: 'This is weekly matrix compatibility test for Antrea.' axes: - axis: type: user-defined name: TEST_OS values: - centos-7 - photon-3 - axis: type: user-defined name: K8S_VERSION values: - v1.17.5 - v1.18.2 - axis: type: user-defined name: IS_MATRIX_TEST values: - true - axis: type: slave # TODO: use different term when Jenkins & Jenkins Job Builder are updated name: labels values: - antrea-test-node builders: - builder-matrix branches: - '${{GIT_BRANCH}}' included_regions: [] cron: 'H 20 * * 6' ignore_post_commit_hooks: false parameters: - string: default: 'main' description: |- The branch name of the original repo. It must match one of the following patterns: - - refs/heads/ - / - remotes// - refs/remotes// Tracks/checks out the specified branch. E.g. main, feature1, refs/heads/main, refs/heads/feature1/main, origin/main, remotes/origin/main, refs/remotes/origin/main, ... - Checks out the specified commit. E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ... - refs/tags/ Tracks/checks out the specified tag. E.g. refs/tags/git-2.3.0 - The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo. - : The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression. Examples: - :^(?!(origin/prefix)).* matches: origin or origin/main or origin/feature does not match: origin/prefix or origin/prefix_123 or origin/prefix-abc name: GIT_BRANCH trim: 'true' publishers: - archive: allow-empty: true artifacts: 'IS_MATRIX_TEST/*/K8S_VERSION/*/TEST_OS/*/labels/antrea-test-node/antrea-test-logs.tar.gz, IS_MATRIX_TEST/*/K8S_VERSION/*/TEST_OS/*/labels/antrea-test-node/ci/jenkins/*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - email: recipients: projectantrea-dev@googlegroups.com wrappers: - workspace-cleanup - timeout: timeout: 600 type: absolute - '{name}-{test_name}-matrix-compatibility-test': test_name: upgrade node: 'antrea-test-node' description: 'This is the upgrade matrix compatibility test for Antrea. In this test, more than half of all Antrea agents are old-versioned.' axes: - axis: type: user-defined name: TEST_OS values: - ubuntu-1804 - centos-7 - photon-3 - axis: type: user-defined name: K8S_VERSION values: - v1.17.5 - v1.18.2 - axis: type: user-defined name: IS_MATRIX_TEST values: - true - axis: type: slave name: labels values: - antrea-test-node builders: - builder-matrix branches: - '${{GIT_BRANCH}}' included_regions: [] cron: 'H 15 * * 6' ignore_post_commit_hooks: false parameters: - string: name: OLD_ANTREA_VERSION trim: 'true' default: 'LATEST' description: |- The old Antrea version tag. Example: v0.1.0. If it's 'LATEST', we use the latest release tag by default. - string: default: 'main' description: |- The branch name of the latest Antrea repo. It must match one of the following patterns: - - refs/heads/ - / - remotes// - refs/remotes// Tracks/checks out the specified branch. E.g. main, feature1, refs/heads/main, refs/heads/feature1/main, origin/main, remotes/origin/main, refs/remotes/origin/main, ... - Checks out the specified commit. E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ... - refs/tags/ Tracks/checks out the specified tag. E.g. refs/tags/git-2.3.0 - The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo. - : The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression. Examples: - :^(?!(origin/prefix)).* matches: origin or origin/main or origin/feature does not match: origin/prefix or origin/prefix_123 or origin/prefix-abc name: GIT_BRANCH trim: 'true' publishers: - archive: allow-empty: true artifacts: 'IS_MATRIX_TEST/*/K8S_VERSION/*/TEST_OS/*/labels/antrea-test-node/antrea-test-logs.tar.gz, IS_MATRIX_TEST/*/K8S_VERSION/*/TEST_OS/*/labels/antrea-test-node/ci/jenkins/*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - email: recipients: projectantrea-dev@googlegroups.com wrappers: - workspace-cleanup - timeout: timeout: 600 type: absolute - '{name}-{test_name}-for-pull-request': test_name: vm-e2e node: 'antrea-vm-node' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-vm-e2e trigger_phrase: ^(?!Thanks for your PR).*/test-(vm-e2e).* white_list_target_branches: [ ] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-vm-e2e status_url: --none-- success_status: Build finished. failure_status: Failed. Add comment /test-vm-e2e to re-trigger. error_status: Failed. Add comment /test-vm-e2e to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 150 type: absolute - credentials-binding: - text: credential-id: GOVC_URL variable: GOVC_URL - text: credential-id: GOVC_USERNAME variable: GOVC_USERNAME - text: credential-id: GOVC_PASSWORD variable: GOVC_PASSWORD - text: credential-id: GOVC_DATACENTER variable: GOVC_DATACENTER - text: credential-id: GOVC_DATASTORE variable: GOVC_DATASTORE publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz, e2e-coverage.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: multicluster-e2e node: 'antrea-multicluster-node' description: 'This is the {test_name} test for {name} pull request.' white_list_target_branches: [ ] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-multicluster status_url: null branches: - ${{sha1}} builders: - builder-multicluster-e2e trigger_phrase: ^(?!Thanks for your PR).*/test-(multicluster-e2e).* success_status: Build finished. failure_status: Failed. Add comment /test-multicluster-e2e to re-trigger. error_status: Failed. Add comment /test-multicluster-e2e to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN # Jenkins secret that stores codecov token variable: CODECOV_TOKEN - timeout: fail: true timeout: 150 type: absolute publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz, e2e-coverage.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-e2e node: 'antrea-kind-testbed' description: 'This is for running e2e tests on kind.' branches: - ${{sha1}} builders: - builder-e2e-kind: ip_version: 'ipv4' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(e2e|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false throttle_concurrent_builds_enabled: 'true' status_context: jenkins-kind-e2e status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-e2e to re-trigger. error_status: Failed. Add comment /test-kind-e2e to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-conformance node: 'antrea-kind-testbed' description: 'This is for running conformance tests on kind.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'conformance' ip_version: 'ipv4' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(conformance|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false throttle_concurrent_builds_enabled: 'true' status_context: jenkins-kind-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-conformance to re-trigger. error_status: Failed. Add comment /test-kind-conformance to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-networkpolicy node: 'antrea-kind-testbed' description: 'This is for running networkpolicy tests on kind.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'networkpolicy' ip_version: 'ipv4' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(networkpolicy|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false throttle_concurrent_builds_enabled: 'true' status_context: jenkins-kind-networkpolicy status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-networkpolicy to re-trigger. error_status: Failed. Add comment /test-kind-networkpolicy to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-only-networkpolicy node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'networkpolicy' ip_version: 'ipv6' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-only-networkpolicy|kind-ipv6-only-networkpolicy|kind-ipv6-only-all|ipv6-only-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-only-networkpolicy status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-only-networkpolicy to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-only-networkpolicy to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-only-conformance node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'conformance' ip_version: 'ipv6' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-only-conformance|kind-ipv6-only-conformance|kind-ipv6-only-all|ipv6-only-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-only-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-only-conformance to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-only-conformance to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-only-e2e node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-e2e-kind: ip_version: 'ipv6' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-only-e2e|kind-ipv6-only-e2e|kind-ipv6-only-all|ipv6-only-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-only-e2e status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-only-e2e to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-only-e2e to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-ds-networkpolicy node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'networkpolicy' ip_version: 'dual' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-networkpolicy|kind-ipv6-networkpolicy|kind-ipv6-all|ipv6-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-ds-networkpolicy status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-networkpolicy to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-networkpolicy to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-ds-conformance node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'conformance' ip_version: 'dual' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-conformance|kind-ipv6-conformance|kind-ipv6-all|ipv6-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-ds-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-conformance to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-conformance to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pull-request': test_name: kind-ipv6-ds-e2e node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-e2e-kind: ip_version: 'dual' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(ipv6-e2e|kind-ipv6-e2e|kind-ipv6-all|ipv6-all).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-ipv6-ds-e2e status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-ipv6-e2e to re-trigger. error_status: Failed. Add comment /test-kind-ipv6-e2e to re-trigger. triggered_status: null started_status: null wrappers: - timeout: fail: true timeout: 135 type: absolute publishers: - archive: allow-empty: true artifacts: antrea-test-logs.tar.gz case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pr': test_name: kind-all-features-conformance node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'all-features-conformance' ip_version: 'ipv4' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(all-features-conformance|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-all-features-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-all-features-conformance to re-trigger. error_status: Failed. Add comment /test-kind-all-features-conformance to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN variable: CODECOV_TOKEN - timeout: fail: true timeout: 80 type: absolute - credentials-binding: - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - '{name}-{test_name}-for-pr': test_name: kind-whole-conformance node: 'antrea-kind-testbed' description: 'This is the {test_name} test for {name}.' branches: - ${{sha1}} builders: - builder-conformance-kind: conformance_type: 'whole-conformance' ip_version: 'ipv4' kind_cluster_name: '{test_name}' trigger_phrase: ^(?!Thanks for your PR).*/test-(whole-conformance|all$).* white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: jenkins-kind-whole-conformance status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-kind-whole-conformance to re-trigger. error_status: Failed. Add comment /test-kind-whole-conformance to re-trigger. triggered_status: null started_status: null wrappers: - credentials-binding: - text: credential-id: CODECOV_TOKEN variable: CODECOV_TOKEN - timeout: fail: true timeout: 240 type: absolute - credentials-binding: - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD publishers: - archive: allow-empty: true artifacts: '*sonobuoy*.tar.gz, whole-conformance-coverage.tar.gz' case-sensitive: true default-excludes: true fingerprint: false only-if-success: false - 'cloud-{name}-{test_name}-aws-cleanup': test_name: sriov-secondary-network description: This is for deleting AWS resources for SRIOV secondary-network test. parameters: - string: default: https://github.com/antrea-io/antrea/ description: The repository to checkout Antrea for this test. name: ANTREA_REPO trim: 'true' - string: default: main description: The branch or SHA commit ID to checkout and build Antrea for this test. name: ANTREA_GIT_REVISION trim: 'true' - string: default: '' description: The ec2 instance id of control-plane Node. name: CONTROLPLANE_INSTANCE_ID trim: 'true' - string: default: '' description: The ec2 instance id of worker Node. name: WORKER_INSTANCE_ID trim: 'true' - string: default: '' description: The ec2 secondary network-interface id of control-plane Node. name: CONTROLPLANE_NODE_ENI trim: 'true' - string: default: '' description: The ec2 secondary network-interface id of worker Node. name: WORKER_NODE_ENI trim: 'true' - string: default: '' description: The subnet CIDR reservation id created in the subnet during test. name: SUBNET_CIDR_RESERVATION_ID trim: 'true' builders: - shell: |- #!/bin/bash set -ex export CONTROLPLANE_INSTANCE_ID=${{CONTROLPLANE_INSTANCE_ID}} export WORKER_INSTANCE_ID=${{WORKER_INSTANCE_ID}} export CONTROLPLANE_NODE_ENI=${{CONTROLPLANE_NODE_ENI}} export WORKER_NODE_ENI=${{WORKER_NODE_ENI}} export SUBNET_CIDR_RES_ID=${{SUBNET_CIDR_RESERVATION_ID}} source ./ci/test-sriov-secondary-network-aws.sh --cleanup-only \ --aws-access-key ${{AWS_ACCESS_KEY}} --aws-secret-key ${{AWS_SECRET_KEY}} --aws-service-user-role-arn ${{AWS_SERVICE_USER_ROLE_ARN}} concurrent: false disabled: false node: antrea-cloud branches: - '${{ANTREA_GIT_REVISION}}' repo_url: '${{ANTREA_REPO}}' publishers: - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com rahulj@vmware.com triggers: [] wrappers: - credentials-binding: - text: credential-id: AWS_ACCESS_KEY # Jenkins secret that stores aws access key variable: AWS_ACCESS_KEY - text: credential-id: AWS_SECRET_KEY # Jenkins secret that stores aws secret key variable: AWS_SECRET_KEY - text: credential-id: AWS_SERVICE_USER_ROLE_ARN variable: AWS_SERVICE_USER_ROLE_ARN - '{name}-{test_name}-for-pull-request': disabled: false test_name: sriov-secondary-network-e2e node: antrea-cloud description: 'Test SR-IOV secondary network in AWS for antrea.' branches: - ${{sha1}} trigger_phrase: '^(?!Thanks for your PR).*/test-sriov-secondary-network-e2e.*' white_list_target_branches: [] allow_whitelist_orgs_as_admins: true admin_list: '{antrea_admin_list}' org_list: '{antrea_org_list}' white_list: '{antrea_white_list}' only_trigger_phrase: true trigger_permit_all: false status_context: sriov-secondary-network-e2e status_url: null success_status: Build finished. failure_status: Failed. Add comment /test-sriov-secondary-network-e2e to re-trigger. error_status: Failed. Add comment /test-sriov-secondary-network-e2e to re-trigger. triggered_status: null started_status: null builders: - shell: |- #!/bin/bash cat ${{AWS_EC2_SSH_KEY}} > ./${{AWS_EC2_SSH_KEY_NAME}} chmod 400 ${{AWS_EC2_SSH_KEY_NAME}} DOCKER_REGISTRY="$(head -n1 ci/docker-registry)" [ "$DOCKER_REGISTRY" != "docker.io" ] || ./ci/jenkins/docker_login.sh --docker-user ${{DOCKER_USERNAME}} --docker-password ${{DOCKER_PASSWORD}} sudo ./ci/test-sriov-secondary-network-aws.sh --aws-access-key ${{AWS_ACCESS_KEY}} --aws-secret-key ${{AWS_SECRET_KEY}} \ --aws-security-group-id ${{AWS_SECURITY_GROUP}} --aws-subnet-id ${{AWS_SUBNET_ID}} \ --aws-ec2-ssh-key-name ${{AWS_EC2_SSH_KEY_NAME}} --aws-service-user-role-arn ${{AWS_SERVICE_USER_ROLE_ARN}} publishers: - email: notify-every-unstable-build: true recipients: projectantrea-dev@googlegroups.com wrappers: - credentials-binding: - text: credential-id: AWS_ACCESS_KEY # Jenkins secret that stores aws access key variable: AWS_ACCESS_KEY - text: credential-id: AWS_SECRET_KEY # Jenkins secret that stores aws secret key variable: AWS_SECRET_KEY - text: credential-id: DOCKER_USERNAME variable: DOCKER_USERNAME - text: credential-id: DOCKER_PASSWORD variable: DOCKER_PASSWORD - text: credential-id: AWS_EC2_SSH_KEY_NAME variable: AWS_EC2_SSH_KEY_NAME - text: credential-id: AWS_SECURITY_GROUP variable: AWS_SECURITY_GROUP - text: credential-id: AWS_SUBNET_ID variable: AWS_SUBNET_ID - text: credential-id: AWS_SERVICE_USER_ROLE_ARN variable: AWS_SERVICE_USER_ROLE_ARN - ssh-user-private-key: credential-id: AWS_EC2_SSH_KEY key-file-variable: AWS_EC2_SSH_KEY username-variable: AWS_EC2_SSH_USER_NAME passphrase-variable: AWS_EC2_SSH_PASSPHRASE