--- /dev/null
+---
+name: Gerrit Verify
+
+# yamllint disable-line rule:truthy
+on:
+ workflow_dispatch:
+ inputs:
+ GERRIT_BRANCH:
+ description: "Branch that change is against"
+ required: true
+ type: string
+ GERRIT_CHANGE_ID:
+ description: "The ID for the change"
+ required: true
+ type: string
+ GERRIT_CHANGE_NUMBER:
+ description: "The Gerrit number"
+ required: true
+ type: string
+ GERRIT_CHANGE_URL:
+ description: "URL to the change"
+ required: true
+ type: string
+ GERRIT_EVENT_TYPE:
+ description: "Type of Gerrit event"
+ required: true
+ type: string
+ GERRIT_PATCHSET_NUMBER:
+ description: "The patch number for the change"
+ required: true
+ type: string
+ GERRIT_PATCHSET_REVISION:
+ description: "The revision sha"
+ required: true
+ type: string
+ GERRIT_PROJECT:
+ description: "Project in Gerrit"
+ required: true
+ type: string
+ GERRIT_REFSPEC:
+ description: "Gerrit refspec of change"
+ required: true
+ type: string
+
+concurrency:
+ group: ${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ prepare:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Clear votes
+ uses: lfit/gerrit-review-action@v0.3
+ with:
+ host: ${{ vars.GERRIT_SERVER }}
+ username: ${{ vars.GERRIT_SSH_USER }}
+ key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
+ known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
+ gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
+ gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
+ vote-type: clear
+ - name: Allow replication
+ run: sleep 10s
+
+ actionlint:
+ needs: prepare
+ runs-on: ubuntu-latest
+ steps:
+ - uses: lfit/checkout-gerrit-change-action@v0.3
+ with:
+ gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
+ delay: "0s"
+ - name: Download actionlint
+ id: get_actionlint
+ run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
+ shell: bash
+ - name: Check workflow files
+ run: ${{ steps.get_actionlint.outputs.executable }} -color
+ shell: bash
+
+ # run pre-commit tox env separately to get use of more parallel processing
+ pre-commit:
+ needs: prepare
+ runs-on: ubuntu-latest
+ steps:
+ - uses: lfit/checkout-gerrit-change-action@v0.3
+ with:
+ gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
+ delay: "0s"
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.11"
+ - name: Run static analysis and format checkers
+ run: pipx run pre-commit run --all-files --show-diff-on-failure
+
+ jjb-validation:
+ needs: prepare
+ runs-on: ubuntu-latest
+ steps:
+ - uses: lfit/checkout-gerrit-change-action@v0.3
+ with:
+ gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
+ delay: "0s"
+ - uses: actions/setup-python@v4
+ id: setup-python
+ with:
+ python-version: "3.11"
+ - name: Clone git submodules
+ run: git submodule update --init
+ - name: Run JJB Verify
+ run: |
+ python -m pip install --upgrade pip
+ pip install jenkins-job-builder
+ mkdir -p "${HOME}/.config/jenkins_jobs"
+ cat << EOF > "${HOME}/.config/jenkins_jobs/jenkins_jobs.ini"
+ [job_builder]
+ ignore_cache=True
+ keep_descriptions=False
+ include_path=.
+ recursive=True
+ query_plugins_info=False
+ config-xml=True
+ EOF
+ jenkins-jobs test -o archives/job-configs jjb/
+
+ vote:
+ if: ${{ always() }}
+ needs: [prepare, actionlint, pre-commit, jjb-validation]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: technote-space/workflow-conclusion-action@v3
+ - name: Set vote
+ uses: lfit/gerrit-review-action@v0.3
+ with:
+ host: ${{ vars.GERRIT_SERVER }}
+ username: ${{ vars.GERRIT_SSH_USER }}
+ key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
+ known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
+ gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
+ gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
+ vote-type: ${{ env.WORKFLOW_CONCLUSION }}
* ZZCI - CentOS 7 - builder - x86_64 - 20221201-060105.225
* ZZCI - CentOS 7 - builder - x86_64 - 20230301-060101.869
* ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+* ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
* ZZCI - CentOS 7 - devstack - x86_64 - 20220401-230107.511
* ZZCI - CentOS 7 - devstack - x86_64 - 20220915-220248.057
* ZZCI - CentOS 7 - devstack - x86_64 - 20221016-125752.520
* ZZCI - CentOS 7 - docker - x86_64 - 20221201-220105.396
* ZZCI - CentOS 7 - docker - x86_64 - 20230301-220107.956
* ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252
+* ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311
* ZZCI - CentOS 7 - helm - x86_64 - 20220401-000138.473
* ZZCI - CentOS 7 - helm - x86_64 - 20220811-110654.568
* ZZCI - CentOS 7 - helm - x86_64 - 20220915-220356.090
* ZZCI - CentOS Stream 8 - builder - x86_64 - 20221201-160128.560
* ZZCI - CentOS Stream 8 - builder - x86_64 - 20230301-160121.204
* ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+* ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
* ZZCI - CentOS Stream 8 - robot - x86_64 - 20220811-231817.668
* ZZCI - CentOS Stream 8 - robot - x86_64 - 20230301-010147.625
* ZZCI - CentOS Stream 8 - robot - x86_64 - 20230401-010209.151
-Subproject commit de13320dea5c46324937b12f69435e082e4edf0b
+Subproject commit e1b6f106a1ccdba4fdbd6fec12882167b3a6ad47
LABELS=centos7-builder-2c-1g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-2
LABELS=centos7-builder-2c-2g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-2
LABELS=centos7-builder-2c-8g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-2
LABELS=centos7-builder-4c-16g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-4
LABELS=centos7-builder-4c-4g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-4
LABELS=centos7-builder-8c-8g
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
HARDWARE_ID=v3-standard-8
LABELS=centos7-docker-1c-4g
-IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252
+IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311
HARDWARE_ID=v3-standard-2
LABELS=centos7-docker-2c-2g
-IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252
+IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311
HARDWARE_ID=v3-standard-2
LABELS=centos7-docker-2c-8g
-IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252
+IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311
HARDWARE_ID=v3-standard-2
LABELS=centos7-docker-4c-4g
-IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252
+IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311
HARDWARE_ID=v3-standard-4
LABELS=centos8-builder-2c-1g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-2
LABELS=centos8-builder-2c-2g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-2
LABELS=centos8-builder-2c-8g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-2
LABELS=centos8-builder-4c-16g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-4
LABELS=centos8-builder-4c-4g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-4
LABELS=centos8-builder-8c-8g
-IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589
+IMAGE_NAME=ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084
HARDWARE_ID=v3-standard-8
CLOUD_ZONE=ca-ymq-1
# Default Template Configuration
-IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230401-060117.151
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20230501-060110.287
AVAILABILITY_ZONE=nova
HARDWARE_ID=v3-standard-2
NETWORK_ID=b5fcd86e-efac-4997-b8bc-dbe0d35bc229
# Used by the release job
staging-profile-id: 9318cf3c82c33
+- project:
+ name: aaa-0.17.x
+ jobs:
+ - "{project-name}-rtd-jobs":
+ build-node: centos7-builder-2c-2g
+ project-pattern: aaa
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-aaa/47615/
+ rtd-token: 621132230e1307d38f4aaf27e669d7dfdf98532f
+ - odl-maven-jobs-jdk17
+ - odl-maven-verify-jobs-jdk17
+
+ stream: 0.17.x
+ project: "aaa"
+ project-name: "aaa"
+ branch: 0.17.x
+ java-version: "openjdk17"
+ mvn-settings: "aaa-settings"
+ build-node: centos8-builder-4c-4g
+ dependencies: "odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}"
+ email-upstream: "[aaa] [odlparent] [yangtools] [controller]"
+
+ # Used by the release job
+ staging-profile-id: 9318cf3c82c33
+
- project:
name: aaa-0.16.x
jobs:
# Used by the release job
staging-profile-id: 96c1c9177efdd
+- project:
+ name: controller-7.0.x
+ jobs:
+ - "{project-name}-rtd-jobs":
+ build-node: centos7-builder-2c-2g
+ project-pattern: controller
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-controller/48288/
+ rtd-token: b8440116c823a80c0fb0479eb7448a9196e6932f
+ - odl-maven-jobs-jdk17
+ - odl-maven-verify-jobs-jdk17
+
+ stream: 7.0.x
+ project: "controller"
+ project-name: "controller"
+ branch: 7.0.x
+ build-node: centos8-builder-4c-4g
+ java-version: "openjdk17"
+ mvn-settings: "controller-settings"
+ mvn-goals: "clean deploy -Pdocs"
+ build-timeout: 90
+ dependencies: "odlparent-merge-{stream},yangtools-merge-{stream},aaa-merge-{stream}"
+ email-upstream: "[controller] [odlparent] [yangtools] [aaa]"
+
+ # Used by the release job
+ staging-profile-id: 96c1c9177efdd
+
- project:
name: controller-6.0.x
jobs:
# CSIT configuration
odl_system_count: 1
odl_system_flavor: "v3-standard-4"
- odl_system_image: "ZZCI - CentOS Stream 8 - builder - x86_64 - 20230401-160111.589"
+ odl_system_image: "ZZCI - CentOS Stream 8 - builder - x86_64 - 20230501-160107.084"
controller-max-mem: "2048m"
openstack_system_count: 1
openstack_system_flavor: "v3-standard-4"
- potassium:
branch: "master"
- argon:
- branch: "stable/master"
+ branch: "stable/argon"
- chlorine:
branch: "stable/chlorine"
FEATURE_TEST_STRING="features-test"
FEATURE_TEST_VERSION="$BUNDLE_VERSION"
-if [[ "$KARAF_ARTIFACT" == "opendaylight" ]]; then
- FEATURE_TEST_VERSION="$(sed -r "s%^([0-9]+)\.([0-9]+)\.0(.*)%0.\1.\2\3%" <<<"$BUNDLE_VERSION")"
-fi
KARAF_VERSION=${KARAF_VERSION:-karaf4}
# only manipulate feature repo in integration distro
FEATURESCONF="${WORKSPACE}/${BUNDLEFOLDER}/etc/org.apache.karaf.features.cfg"
FEATURE_TEST_STRING="features-test"
FEATURE_TEST_VERSION="$BUNDLE_VERSION"
-if [ "$KARAF_ARTIFACT" = "opendaylight" ]; then
- FEATURE_TEST_VERSION="$(echo "$BUNDLE_VERSION" | sed -E "s%^([0-9]+)\.([0-9]+)\.0(.*)%0.\1.\2\3%")"
-fi
# only replace feature repo in integration/distro, MRI projects need to pull in
# the features they need by themselves
email-upstream: "[int/dist]"
type: managed
profile: "-Pmanaged"
- forbidden-files: '(opendaylight\/.*|docker\/.*)'
+ forbidden-files: '(docker\/.*)'
java-version: "openjdk17"
jre: "openjdk17"
karaf-version: karaf4
ovsdb-maven-merge-{stream},
serviceutils-maven-merge-{stream},
-- project:
- name: distribution-full
- jobs:
- # gerrit- is generic template, distribution- is project specific.
- - "distribution-merge-{type}-{stream}"
- - "distribution-verify-{type}-{stream}"
- - "distribution-check-{type}-{stream}"
-
- project: integration/distribution
- project-name: distribution
- build-node: centos8-builder-4c-4g
- mvn-settings: integration-distribution-settings
- mvn-goals: "clean install dependency:tree -DoutputFile=dependency_tree.txt"
- mvn-opts: "-Xmx1024m"
- mvn-version: mvn38
- email-upstream: "[int/dist]"
- type: full
- profile: "-Punmanaged"
- files: "opendaylight/**"
- java-version: "openjdk17"
- karaf-version: odl
- dist-pom: "distribution/opendaylight/pom.xml"
- stream:
- - potassium:
- branch: "master"
- dependencies: >
- distribution-merge-managed-{stream},
- - argon:
- branch: "stable/argon"
- dependencies: >
- distribution-merge-managed-{stream},
- - chlorine:
- branch: "stable/chlorine"
- dependencies: >
- distribution-merge-managed-{stream},
-
-- project:
- name: distribution-release
- jobs:
- - gerrit-maven-stage:
- sbom-generator: true
- sign-artifacts: true
- sbom-path: "opendaylight"
-
- project: "integration/distribution"
- project-name: "distribution"
- build-node: centos8-builder-4c-4g
- use-release-file: false
- mvn-goals: "clean deploy -f opendaylight/pom.xml"
- mvn-settings: "integration-distribution-settings"
- mvn-opts: "-Xmx1024m"
- mvn-version: mvn38
- java-version: "openjdk17"
- email-upstream: "[int/dist]"
-
- # Used by the release job
- staging-profile-id: 2af042ed81d5e2
-
- stream:
- - potassium:
- branch: "master"
- - argon:
- branch: "stable/argon"
- - chlorine:
- branch: "stable/chlorine"
-
-- project:
- name: distribution-release-management
- jobs:
- - gerrit-release-merge
-
- project: "integration/distribution"
- project-name: distribution
-
- build-node: centos7-builder-2c-1g
- mvn-settings: integration-distribution-settings
- build-timeout: 60
-
- project:
name: distribution-sonar
jobs:
docker_system_count: "1"
docker_system_flavor: "v3-standard-2"
- docker_system_image: "ZZCI - CentOS 7 - docker - x86_64 - 20230401-220108.252"
+ docker_system_image: "ZZCI - CentOS 7 - docker - x86_64 - 20230501-220111.311"
#####################
# Job Configuration #
# Used by the release job
staging-profile-id: 880d5ac25eaa
+- project:
+ name: odlparent-12.0.x
+ jobs:
+ - "{project-name}-rtd-jobs":
+ build-node: centos7-builder-2c-2g
+ doc-dir: .tox/docs/tmp/html
+ project-pattern: odlparent
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-odlparent/50830/
+ rtd-token: e5afd4ac1ead64408d9e13cd1f628ade55512f8f
+ - odl-maven-jobs-jdk17
+ - odl-maven-verify-jobs-jdk17
+ - gerrit-tox-verify
+
+ stream: 12.0.x
+ project: odlparent
+ project-name: odlparent
+ branch: 12.0.x
+
+ mvn-settings: odlparent-settings
+ build-node: centos8-builder-4c-4g
+
+ dependencies: ""
+ email-upstream: "[odlparent]"
+ archive-artifacts: >
+ **/*.prop
+ **/*.log
+ **/target/surefire-reports/*-output.txt
+ **/target/failsafe-reports/failsafe-summary.xml
+ **/hs_err_*.log
+ **/target/feature/feature.xml
+
+ # Used by the release job
+ staging-profile-id: 880d5ac25eaa
+
- project:
name: odlparent-11.0.x
jobs:
build-node: centos8-builder-2c-2g
archive-artifacts: "**/*.log"
build-timeout: 30
- jjb-version: 4.1.0
+ jjb-version: 5.0.2
- project:
name: builder-openstack
[tox]
minversion = 1.6
-envlist = docs,docs-linkcheck,jjb-version,prefix,robot,pylint
+envlist = docs,docs-linkcheck,jjb-version,prefix,robot
# pre-commit
skipsdist = true
[testenv:jenkins-jobs]
deps =
- jenkins-job-builder=={env:JJB_VERSION:4.1.0}
+ jenkins-job-builder=={env:JJB_VERSION:5.0.2}
commands =
jenkins-jobs {posargs:--help}