2 # Macros for the AutoRelease project
4 name: autorelease-release-tag
8 default: "{release-tag}"
9 description: "The Release train tag to use eg. Beryllium-SR1"
12 name: autorelease-build-timeout
20 name: autorelease-checkout-gerrit-patch
22 - shell: !include-raw-escape: autorelease-checkout-gerrit-patch.sh
25 name: autorelease-determine-merge-order
30 python3 -m venv $WORKSPACE/venv
31 . $WORKSPACE/venv/bin/activate
32 PYTHON="$WORKSPACE/venv/bin/python"
33 $PYTHON -m pip install --upgrade networkx
35 ./scripts/determine-merge-order.py
37 rm -rf $WORKSPACE/venv
40 name: autorelease-maven-sources
43 maven-version: "{maven-version}"
48 -DoutputFile=$WORKSPACE/sources.log
50 {opendaylight-infra-mvn-opts}
53 settings: "{settings}"
55 global-settings: "{global-settings}"
56 global-settings-type: cfp
58 awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
61 name: autorelease-distribute-taglist
63 - integration-set-variables
66 set +e # DO NOT fail build if copying fails.
68 cp -vf "$WORKSPACE/archives/patches/taglist.log" \
69 "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/"
71 # DO NOT fail the build if copying failed.
75 name: autorelease-generate-artifact-versions
76 # Generate versions.csv containing version of all mvn artifacts in this build.
81 ./scripts/generate-artifact-versions.sh
82 mkdir -p "$WORKSPACE/archives"
83 mv versions.csv "$WORKSPACE/archives"
86 name: autorelease-generate-release-patches
88 - shell: !include-raw-escape:
92 name: autorelease-get-integration-test-variables
94 - integration-set-variables
95 - shell: !include-raw-escape: autorelease-get-integration-test-variables.sh
97 properties-file: variables.prop
100 name: autorelease-fix-relative-paths
103 ./scripts/fix-relativepaths.sh
106 name: autorelease-generate-release-notes
108 - shell: !include-raw-escape:
109 - generate-release-notes.sh
112 name: autorelease-update-project-views
114 - shell: !include-raw-escape: update-autorelease-projects-views.sh
117 name: autorelease-update-validate-projects
119 - shell: !include-raw-escape: update-validate-autorelease-projects.sh
122 name: autorelease-compare-projects
124 - shell: !include-raw: compare-autorelease-projects.sh
127 # Search console log for failures and email status to the release mailing list.
128 name: opendaylight-infra-notify-status
140 - shell: !include-raw-escape: notify-build-failure.sh
141 mark-unstable-if-failed: true