Remove all references to -XX:MaxPermSize
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
1 ---
2 # Macros for the AutoRelease project
3 - parameter:
4     name: autorelease-release-tag
5     parameters:
6       - string:
7           name: RELEASE_TAG
8           default: '{release-tag}'
9           description: "The Release train tag to use eg. Beryllium-SR1"
10
11 - wrapper:
12     name: autorelease-build-timeout
13     wrappers:
14       - timeout:
15           type: absolute
16           timeout: 1440
17           fail: true
18
19 - builder:
20     name: autorelease-checkout-gerrit-patch
21     builders:
22       - shell: |
23           #!/bin/bash -l
24           set -eu -o pipefail
25
26           # If the project is autorelease then we do not need to cd
27           if [ "$GERRIT_PROJECT" != "releng/autorelease" ]; then
28               cd "$WORKSPACE/$GERRIT_PROJECT"
29           fi
30
31           echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..."
32           git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD
33
34           # If the project is autorelease then we need to init and update submodules
35           if [ "$GERRIT_PROJECT" == "releng/autorelease" ]; then
36               git submodule update --init
37               # The previous checkout might have failed to remove directory of a submodule being removed.
38               # See https://stackoverflow.com/a/10761699
39               git clean -dff
40           fi
41
42 - builder:
43     name: autorelease-determine-merge-order
44     builders:
45       - shell: |
46           #!/bin/bash -l
47           virtualenv --system-site-packages $WORKSPACE/venv
48           source $WORKSPACE/venv/bin/activate
49           PYTHON="$WORKSPACE/venv/bin/python"
50           $PYTHON -m pip install --upgrade networkx
51           $PYTHON -m pip freeze
52           ./scripts/determine-merge-order.py
53           deactivate
54           rm -rf $WORKSPACE/venv
55
56 - builder:
57     name: autorelease-maven-sources
58     builders:
59       - maven-target:
60           maven-version: '{maven-version}'
61           pom: 'pom.xml'
62           goals: |
63               dependency:sources
64               --quiet
65               -DoutputFile=$WORKSPACE/sources.log
66               -DappendOutput
67               {opendaylight-infra-mvn-opts}
68           java-opts:
69             - '-Xmx4096m'
70           settings: '{settings}'
71           settings-type: cfp
72           global-settings: '{global-settings}'
73           global-settings-type: cfp
74       - shell: |
75           awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
76
77 - builder:
78     name: autorelease-distribute-taglist
79     builders:
80       - integration-set-variables
81       - shell: |
82           #!/bin/bash -l
83           set +e  # DO NOT fail build if copying fails.
84
85           cp -vf "$WORKSPACE/archives/patches/taglist.log" \
86               "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/"
87
88           # DO NOT fail the build if copying failed.
89           exit 0
90
91 - builder:
92     name: autorelease-generate-artifact-versions
93     # Generate versions.csv containing version of all mvn artifacts in this build.
94     builders:
95       - shell: |
96           #!/bin/bash -l
97           set -eu -o pipefail
98           ./scripts/generate-artifact-versions.sh
99           mkdir -p "$WORKSPACE/archives"
100           mv versions.csv "$WORKSPACE/archives"
101
102 - builder:
103     name: autorelease-generate-release-patches
104     builders:
105       - shell: !include-raw:
106           - prepare-release.sh
107
108 - builder:
109     name: autorelease-get-integration-test-variables
110     builders:
111       - integration-set-variables
112       - shell: !include-raw: autorelease-get-integration-test-variables.sh
113       - inject:
114           properties-file: variables.prop
115
116 - builder:
117     name: autorelease-fix-relative-paths
118     builders:
119       - shell: |
120           ./scripts/fix-relativepaths.sh
121
122 - builder:
123     name: autorelease-generate-release-notes
124     builders:
125       - shell: !include-raw:
126           - generate-release-notes.sh
127
128 - builder:
129     name: autorelease-update-project-views
130     builders:
131       - shell: !include-raw: update-autorelease-projects-views.sh
132
133 - builder:
134     name: autorelease-update-validate-projects
135     builders:
136       - shell: !include-raw: update-validate-autorelease-projects.sh
137
138 - builder:
139     name: autorelease-compare-projects
140     builders:
141       - shell: !include-raw: compare-autorelease-projects.sh
142
143 - publisher:
144     # Search console log for failures and email status to the release mailing list.
145     name: opendaylight-infra-notify-status
146     publishers:
147       - postbuildscript:
148           builders:
149             - role: BOTH
150               build-on:
151                 - ABORTED
152                 - FAILURE
153                 - NOT_BUILT
154                 - SUCCESS
155                 - UNSTABLE
156               build-steps:
157                 - shell: !include-raw: notify-build-failure.sh
158           mark-unstable-if-failed: true