Skip to content

Commit

Permalink
Add release GHA flow
Browse files Browse the repository at this point in the history
  • Loading branch information
acogoluegnes committed Aug 1, 2023
1 parent f0649f8 commit d00eb8c
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/release.yml
@@ -0,0 +1,44 @@
name: Release Hop

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- name: Evaluate release type
run: ci/evaluate-release.sh
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: 'maven'
server-id: ${{ env.maven_server_id }}
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Release Hop (GA)
if: ${{ env.ga_release == 'true' }}
run: |
git config user.name "rabbitmq-ci"
git config user.email "rabbitmq-ci@users.noreply.github.com"
ci/release-hop.sh
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Release Hop (Milestone/RC)
if: ${{ env.ga_release != 'true' }}
run: |
git config user.name "rabbitmq-ci"
git config user.email "rabbitmq-ci@users.noreply.github.com"
ci/release-hop.sh
env:
MAVEN_USERNAME: ''
MAVEN_PASSWORD: ${{ secrets.PACKAGECLOUD_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
14 changes: 14 additions & 0 deletions ci/evaluate-release.sh
@@ -0,0 +1,14 @@
#!/usr/bin/env bash

source ./release-versions.txt

if [[ $RELEASE_VERSION == *[RCM]* ]]
then
echo "prerelease=true" >> $GITHUB_ENV
echo "ga_release=false" >> $GITHUB_ENV
echo "maven_server_id=packagecloud-rabbitmq-maven-milestones" >> $GITHUB_ENV
else
echo "prerelease=false" >> $GITHUB_ENV
echo "ga_release=true" >> $GITHUB_ENV
echo "maven_server_id=ossrh" >> $GITHUB_ENV
fi
27 changes: 27 additions & 0 deletions ci/release-hop.sh
@@ -0,0 +1,27 @@
#!/usr/bin/env bash

source ./release-versions.txt
git checkout $RELEASE_BRANCH

./mvnw release:clean release:prepare -DdryRun=true -Darguments="-DskipTests" --no-transfer-progress \
--batch-mode -Dtag="v$RELEASE_VERSION" \
-DreleaseVersion=$RELEASE_VERSION \
-DdevelopmentVersion=$DEVELOPMENT_VERSION \

./mvnw release:clean release:prepare -Darguments="-DskipTests" --no-transfer-progress \
--batch-mode -Dtag="v$RELEASE_VERSION" \
-DreleaseVersion=$RELEASE_VERSION \
-DdevelopmentVersion=$DEVELOPMENT_VERSION

git checkout "v$RELEASE_VERSION"

if [[ $RELEASE_VERSION == *[RCM]* ]]
then
MAVEN_PROFILE="milestone"
echo "prerelease=true" >> $GITHUB_ENV
else
MAVEN_PROFILE="release"
echo "prerelease=false" >> $GITHUB_ENV
fi

./mvnw clean deploy -P $MAVEN_PROFILE -DskipTests --no-transfer-progress

0 comments on commit d00eb8c

Please sign in to comment.