Skip to content

Commit

Permalink
Prevent publishing same version
Browse files Browse the repository at this point in the history
Workflow checks whether the configured non snapshot version has been published already to prevent re-publish same version

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
  • Loading branch information
cdivitotawela committed Aug 15, 2024
1 parent bc48568 commit 612eabc
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,37 @@ jobs:
uses: actions/checkout@v4
with:
submodules: recursive
# Check whether gradle.properties version has been released already
# This prevents accidently publish same version
# Only check binary for arithmetic as all published together and arithmetic is the first
- name: Check release published
run: |
# Skip if version contain SNAPSHOT
grep "^version" gradle.properties | grep -q SNAPSHOT || {
# Extract version from gradle.properties
VERSION=$(grep "^version" gradle.properties | sed 's|^version=\(.*\)$|\1|g')
echo "Query for version [$VERSION]"
RESPONSE_CODE=$(curl --head -L --silent --output /dev/null --write-out %{http_code} "$ART_URL/$VERSION")
echo "DEBUG: Response code from curl command [$RESPONSE_CODE]"
if [[ $RESPONSE_CODE == "404" ]]
then
echo "Version [$VERSION] has not yet been published"
else
if [[ $RESPONSE_CODE == "200" ]]
then
echo "ERROR: Binary arithmetic already exists for version [$VERSION]"
echo "ERROR: Blocking republishing same version to the Besu Artifactory"
echo "url $ART_URL/$VERSION"
exit 1
else
echo "WARN: Unable to check whether version has been published previously"
echo "WARN: Failing job due to unknown status"
exit 1
fi
fi
}
env:
ART_URL: 'https://hyperledger.jfrog.io/artifactory/besu-maven/org/hyperledger/besu/arithmetic'
- name: Build
run: ./build.sh
- uses: actions/upload-artifact@v3.1.0
Expand Down

0 comments on commit 612eabc

Please sign in to comment.