@@ -74,20 +74,24 @@ jobs:
7474
7575 - name : Check if tag ${{ inputs.release_version }} already exists and create it in case perform_release is set.
7676 if : ${{ (inputs.perform_release) && (inputs.release_version != '') }}
77+ env :
78+ RELEASE_VERSION : ${{ inputs.release_version }}
7779 run : |
7880 cd erigon
79- if git ls-remote --exit-code --quiet --tags origin '${{ inputs.release_version } }'; then
80- echo "ERROR: tag ${{ inputs.release_version } } exists and workflow is performing release. Exit."
81+ if git ls-remote --exit-code --quiet --tags origin '${RELEASE_VERSION }'; then
82+ echo "ERROR: tag ${RELEASE_VERSION } exists and workflow is performing release. Exit."
8183 exit 1
8284 else
83- echo "OK: tag ${{ inputs.release_version } } does not exists. Proceeding."
84- git tag ${{ inputs.release_version } }
85- git push origin ${{ inputs.release_version } }
86- echo; echo "Git TAG ${{ inputs.release_version } } created and pushed."
85+ echo "OK: tag ${RELEASE_VERSION } does not exists. Proceeding."
86+ git tag ${RELEASE_VERSION }
87+ git push origin ${RELEASE_VERSION }
88+ echo; echo "Git TAG ${RELEASE_VERSION } created and pushed."
8789 fi
8890
8991 - name : Create sub-directories, get commit id, etc
9092 id : getCommitId
93+ env :
94+ RELEASE_VERSION : ${{ inputs.release_version }}
9195 run : |
9296 mkdir \
9397 $GITHUB_WORKSPACE/build-arm64 \
97101 cd erigon
98102 echo "id=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
99103 echo "short_commit_id=$(git rev-parse --short=7 HEAD)" >> $GITHUB_OUTPUT
100- echo "parsed_version=$(echo ${{ inputs.release_version } } | sed -e 's/^v//g')" >> $GITHUB_OUTPUT
104+ echo "parsed_version=$(echo ${RELEASE_VERSION } | sed -e 's/^v//g')" >> $GITHUB_OUTPUT
101105
102106 - name : Login to Docker Hub
103107 uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # # v3.3.0
@@ -113,8 +117,9 @@ jobs:
113117
114118 - name : Build and push temporary multiplatform image, store outputs locally for further processing
115119 env :
116- BUILD_VERSION : ${{ inputs.release_version }}
120+ RELEASE_VERSION : ${{ inputs.release_version }}
117121 DOCKER_URL : ${{ env.DOCKERHUB_REPOSITORY_DEV }}
122+ CHECKOUT_REF : ${{ inputs.checkout_ref }}
118123 run : |
119124 cd erigon;
120125 docker buildx build \
@@ -126,18 +131,18 @@ jobs:
126131 --platform linux/amd64,linux/amd64/v2,linux/arm64 \
127132 --label org.opencontainers.image.created=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
128133 --label org.opencontainers.image.authors="https://github.com/erigontech/erigon/graphs/contributors" \
129- --label org.opencontainers.image.url="https://github.com/erigontech/erigon/tree/${{ inputs.checkout_ref } }" \
134+ --label org.opencontainers.image.url="https://github.com/erigontech/erigon/tree/${CHECKOUT_REF }" \
130135 --label org.opencontainers.image.documentation="https://docs.erigon.tech/" \
131136 --label org.opencontainers.image.source="https://github.com/erigontech/erigon" \
132- --label org.opencontainers.image.version=${{ inputs.release_version } } \
137+ --label org.opencontainers.image.version=${RELEASE_VERSION } \
133138 --label org.opencontainers.image.revision=${{ steps.getCommitId.outputs.commit-id }} \
134139 --label org.opencontainers.image.vcs-ref-short=${{ steps.getCommitId.outputs.short-commit-id }} \
135140 --label org.opencontainers.image.vendor="${{ github.repository_owner }}" \
136141 --label org.opencontainers.image.description="${{ env.LABEL_DESCRIPTION }}" \
137142 --label org.opencontainers.image.base.name="${{ env.DOCKER_BASE_IMAGE }}" \
138- --build-arg VERSION=${{ env.BUILD_VERSION } } \
143+ --build-arg VERSION=${RELEASE_VERSION } \
139144 --build-arg BINARIES='${{ env.BINARIES }}' \
140- --tag ${{ env. DOCKER_URL }} :${{ env.BUILD_VERSION } } \
145+ --tag ${DOCKER_URL} :${RELEASE_VERSION } \
141146 --push \
142147 .
143148
@@ -229,10 +234,12 @@ jobs:
229234 path : .
230235
231236 - name : Extract artifact ${{ env.APPLICATION }}_${{ inputs.release_version }}_${{ matrix.artifact }}.tar
237+ env :
238+ RELEASE_VERSION : ${{ inputs.release_version }}
232239 run : |
233240 pwd
234- ls -l ${{ env.APPLICATION }}_${{ inputs.release_version } }_${{ matrix.artifact }}.tar
235- tar xvf ${{ env.APPLICATION }}_${{ inputs.release_version } }_${{ matrix.artifact }}.tar
241+ ls -l ${{ env.APPLICATION }}_${RELEASE_VERSION }_${{ matrix.artifact }}.tar
242+ tar xvf ${{ env.APPLICATION }}_${RELEASE_VERSION }_${{ matrix.artifact }}.tar
236243 ls -lR
237244
238245 - name : Fast checkout git repository erigontech/erigon-qa
@@ -245,6 +252,8 @@ jobs:
245252 path : erigon-qa
246253
247254 - name : Run QA Tests
255+ env :
256+ RELEASE_VERSION : ${{ inputs.release_version }}
248257 run : |
249258 cd ./erigon-qa/test_system
250259 pwd
@@ -262,7 +271,7 @@ jobs:
262271 mkdir ${RUNNER_WORKSPACE}/erigon-data
263272 # Run Erigon, wait sync and check ability to maintain sync
264273 python3 qa-tests/tip-tracking/run_and_check_tip_tracking.py \
265- ${GITHUB_WORKSPACE}/${{ env.APPLICATION }}_${{ inputs.release_version } }_${{ matrix.artifact }} \
274+ ${GITHUB_WORKSPACE}/${{ env.APPLICATION }}_${RELEASE_VERSION }_${{ matrix.artifact }} \
266275 ${RUNNER_WORKSPACE}/erigon-data ${{ env.TEST_TRACKING_TIME_SECONDS }} ${{ env.TEST_TOTAL_TIME_SECONDS }} ${{ env.APPLICATION_VERSION }} ${{ env.TEST_CHAIN }}
267276 # Capture monitoring script exit status
268277 test_exit_status=$?
@@ -338,18 +347,19 @@ jobs:
338347 - name : Push multi-platform docker images (${{ env.BUILD_VERSION }}${{ inputs.publish_latest_tag == true && ' and latest tag'}}) in case perform_release is true
339348 if : ${{ inputs.perform_release }}
340349 env :
341- BUILD_VERSION : ${{ inputs.release_version }}
350+ RELEASE_VERSION : ${{ inputs.release_version }}
342351 DOCKER_URL : ${{ env.DOCKERHUB_REPOSITORY }}
343352 DOCKER_URL_TMP : ${{ env.DOCKERHUB_REPOSITORY_DEV }}
353+ PUBLISH_LATEST_TAG : ${{ inputs.publish_latest_tag }}
344354 run : |
345355 echo Publishing docker image:
346- skopeo copy --multi-arch all docker://${{ env.DOCKER_URL_TMP }}:${{ env.BUILD_VERSION }} docker://${{ env.DOCKER_URL }}:${{ env.BUILD_VERSION } }
347- if [ "x${{ inputs.publish_latest_tag } }" == "xtrue" ]; then
356+ skopeo copy --multi-arch all docker://${{ env.DOCKER_URL_TMP }}:${RELEASE_VERSION} docker://${{ env.DOCKER_URL }}:${RELEASE_VERSION }
357+ if [ "x${PUBLISH_LATEST_TAG }" == "xtrue" ]; then
348358 echo Publishing latest tag:
349- skopeo copy --multi-arch all docker://${{ env.DOCKER_URL_TMP }}:${{ env.BUILD_VERSION } } docker://${{ env.DOCKER_URL }}:latest
359+ skopeo copy --multi-arch all docker://${{ env.DOCKER_URL_TMP }}:${RELEASE_VERSION } docker://${{ env.DOCKER_URL }}:latest
350360 fi
351361 echo -n Deleting temporary image:
352- skopeo delete docker://${{ env.DOCKER_URL_TMP }}:${{ env.BUILD_VERSION } } && echo " ...done"
362+ skopeo delete docker://${{ env.DOCKER_URL_TMP }}:${RELEASE_VERSION } && echo " ...done"
353363
354364 publish-release :
355365 needs : [ build-debian-pkg, publish-docker-image, build-release ]
@@ -394,27 +404,29 @@ jobs:
394404 env :
395405 GH_TOKEN : ${{ github.token }}
396406 GH_REPO : ${{ github.repository }}
397- DOCKER_TAGS : ${{ env.DOCKERHUB_REPOSITORY }}:${{ inputs.release_version }}
407+ RELEASE_VERSION : ${{ inputs.release_version }}
408+ DOCKER_TAGS : " ${{ env.DOCKERHUB_REPOSITORY }}:${{ inputs.release_version }}"
398409 GITHUB_RELEASE_TARGET : ${{ inputs.checkout_ref }}
399410 run : |
400411 cd dist
401412 for archive in *.tar; do gzip $archive; echo Artifact $archive compressed; done
402- sha256sum *.tar.gz *.deb > ${HOME}/${{ env.APPLICATION }}_${{ inputs.release_version } }_checksums.txt
413+ sha256sum *.tar.gz *.deb > ${HOME}/${{ env.APPLICATION }}_${RELEASE_VERSION }_checksums.txt
403414 gh release create \
404415 --target ${GITHUB_RELEASE_TARGET} \
405416 --draft=true \
406- --title "${{ inputs.release_version } }" \
407- --notes "**Please generate notes in WEB UI and copy-paste here**<br>**Improvements:**<br>- ...coming soon <br><br>**Bugfixes:**<br><br>- ...coming soon<br><br>**Docker images:**<br><br>Docker image released:<br> ${{ env. DOCKER_TAGS } }<br><br>... coming soon<br>" \
408- "${{ inputs.release_version } }" \
409- *.tar.gz *.deb ${HOME}/${{ env.APPLICATION }}_${{ inputs.release_version } }_checksums.txt
417+ --title "${RELEASE_VERSION }" \
418+ --notes "**Please generate notes in WEB UI and copy-paste here**<br>**Improvements:**<br>- ...coming soon <br><br>**Bugfixes:**<br><br>- ...coming soon<br><br>**Docker images:**<br><br>Docker image released:<br> ${DOCKER_TAGS}<br><br>... coming soon<br>" \
419+ "${RELEASE_VERSION }" \
420+ *.tar.gz *.deb ${HOME}/${{ env.APPLICATION }}_${RELEASE_VERSION }_checksums.txt
410421
411422
412423 In-case-of-failure :
413424 name : " In case of failure: remove remote git tag pointing to the new version."
414425 needs : [ publish-release, build-release, test-release, build-debian-pkg, publish-docker-image ]
415426 if : always() && !contains(needs.build-release.result, 'success') && contains(needs.test-release.result, 'failure') && !contains(needs.publish-release.result, 'success') && !contains(needs.build-debian-pkg.result, 'success') && !contains(needs.publish-docker-image.result, 'success')
416427 runs-on : ubuntu-latest
417-
428+ env :
429+ RELEASE_VERSION : ${{ inputs.release_version }}
418430 steps :
419431 - name : Checkout git repository ${{ env.APP_REPO }} reference ${{ inputs.checkout_ref }}
420432 uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # # 4.2.2 release
@@ -428,4 +440,4 @@ jobs:
428440 if : ${{ (inputs.perform_release) && (inputs.release_version != '') }}
429441 run : |
430442 cd erigon
431- git push -d origin ${{ inputs.release_version } }
443+ git push -d origin ${RELEASE_VERSION }
0 commit comments