Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 34 additions & 8 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -501,9 +501,11 @@ jobs:
SDKMAN_CONSUMER_KEY: ${{ env.SDKMAN_CONSUMER_KEY }}
SDKMAN_CONSUMER_TOKEN: ${{ env.SDKMAN_CONSUMER_TOKEN }}
VERSION: ${{ inputs.version }}
WEB_URL: ${{ inputs.distribution == 'liquibase-secure' && 'https://package.liquibase.com/downloads/sdkman/secure/' || 'https://package.liquibase.com/downloads/sdkman/oss/' }}
WEB_URL: ${{ inputs.distribution == 'liquibase-secure' && 'https://package.liquibase.com/downloads/secure/sdkman/' || 'https://package.liquibase.com/downloads/oss/sdkman/' }}
S3_BUCKET: ${{ inputs.distribution == 'liquibase-secure' && 's3://repo.liquibase.com/sdkman/secure/' || 's3://repo.liquibase.com/sdkman/oss/' }}
run: |
set -e # Exit on any error

# Download the appropriate zip file based on distribution
if [ "${{ inputs.distribution }}" = "liquibase-secure" ]; then
wget -q -O liquibase-secure-$VERSION.zip ${{ inputs.download_base_url }}/$VERSION/liquibase-secure-$VERSION.zip
Expand All @@ -523,32 +525,56 @@ jobs:
# Upload the release to S3
aws s3 cp $ZIP_FILENAME $S3_BUCKET
echo "Uploaded $ZIP_FILENAME to s3"

# Send the release to SDKMAN
curl -s -X POST \
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
-H "Consumer-Key: $SDKMAN_CONSUMER_KEY" \
-H "Consumer-Token: $SDKMAN_CONSUMER_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"candidate": "'"$SDKMAN_CANDIDATE"'", "version": "'"$VERSION"'", "url": "'"$WEB_URL"'/'"$ZIP_FILENAME"'"}' \
https://vendors.sdkman.io/release
-d '{"candidate": "'"$SDKMAN_CANDIDATE"'", "version": "'"$VERSION"'", "url": "'"$WEB_URL$ZIP_FILENAME"'"}' \
https://vendors.sdkman.io/release)
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d')
echo "SDKMAN release response: $RESPONSE_BODY"
if [ "$HTTP_CODE" -ge 400 ]; then
echo "ERROR: Failed to release to SDKMAN (HTTP $HTTP_CODE): $RESPONSE_BODY"
exit 1
fi
echo "Sent $ZIP_FILENAME to SDKMAN"

# Set the default version for SDKMAN
curl -s -X PUT \
RESPONSE=$(curl -s -w "\n%{http_code}" -X PUT \
-H "Consumer-Key: $SDKMAN_CONSUMER_KEY" \
-H "Consumer-Token: $SDKMAN_CONSUMER_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"candidate": "'"$SDKMAN_CANDIDATE"'", "version": "'"$VERSION"'"}' \
https://vendors.sdkman.io/default
https://vendors.sdkman.io/default)
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d')
echo "SDKMAN default response: $RESPONSE_BODY"
if [ "$HTTP_CODE" -ge 400 ]; then
echo "ERROR: Failed to set default version in SDKMAN (HTTP $HTTP_CODE): $RESPONSE_BODY"
exit 1
fi
echo "Set $ZIP_FILENAME as default version for SDKMAN"

# Announce the release to SDKMAN
curl -s -X POST \
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
-H "Consumer-Key: $SDKMAN_CONSUMER_KEY" \
-H "Consumer-Token: $SDKMAN_CONSUMER_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"candidate": "'"$SDKMAN_CANDIDATE"'", "version": "'"$VERSION"'", "url": "https://github.com/liquibase/liquibase/releases/tag/v'"$VERSION"'"}' \
https://vendors.sdkman.io/announce/struct
https://vendors.sdkman.io/announce/struct)
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d')
echo "SDKMAN announce response: $RESPONSE_BODY"
if [ "$HTTP_CODE" -ge 400 ]; then
echo "ERROR: Failed to announce to SDKMAN (HTTP $HTTP_CODE): $RESPONSE_BODY"
exit 1
fi
echo "Announced $ZIP_FILENAME to SDKMAN"

- name: Update SDKMAN version for ${{ inputs.artifactId }} dry-run
Expand Down