Skip to content

release

release #17

Workflow file for this run

---
name: release
on:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
env:
# See https://stackoverflow.com/questions/70153962/nexus-staging-maven-plugin-maven-deploy-failed-an-api-incompatibility-was-enco
MAVEN_OPTS: -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED
steps:
- name: check branch name
run: |
if [[ ${{ github.ref }} =~ refs/heads/[0-9]+\.[0-9]+-SNAPSHOT ]]; then
echo "valid_branch=true" >> $GITHUB_ENV
else
echo "valid_branch=false" >> $GITHUB_ENV
echo "halting release process since this is not a release branch. ${{ github.ref }} must be refs/heads/[0-9]+\.[0-9]+-SNAPSHOT"
exit 1
fi
- uses: actions/checkout@v4
if: ${{ env.valid_branch }} == 'true'
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
cache: 'maven'
server-id: ossrh
server-username: SONATYPE_USERNAME
server-password: SONATYPE_PASSWORD
gpg-private-key: ${{ secrets.GPG_SECRET_KEY }}
gpg-passphrase: GPG_SECRET_KEY_PASSPHRASE
- name: Fix bom
run: |
sudo apt-get install libxml2-utils
.github/fix-bom.sh -B -R
- name: Commit changes in bom if necessary
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: bom changes
- name: Build BOM with Maven
run: (cd i18n-regions-bom ; mvn -B -Pdeploy clean deploy) ; echo BOM was built
continue-on-error: true # sometimes it was released already in a previous fail
env:
SONATYPE_USERNAME: mihxil
SONATYPE_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
GPG_SECRET_KEY_PASSPHRASE: ${{ secrets.GPG_SECRET_KEY_PASSPHRASE }}
- name: Release
run: |
git config --global user.name 'github actions'
git config --global user.email '[email protected]'
mvn --batch-mode -Darguments=-DskipTests -DpushChanges=false release:prepare
git push --atomic -v --follow-tags
mvn -P'deploy,!blackboxtesting' --batch-mode -Darguments=-DskipTests release:perform
env:
SONATYPE_USERNAME: mihxil
SONATYPE_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
GPG_SECRET_KEY_PASSPHRASE: ${{ secrets.GPG_SECRET_KEY_PASSPHRASE }}