Skip to content

Merge remote-tracking branch 'origin/release-1.0' into release-1.0 #20

Merge remote-tracking branch 'origin/release-1.0' into release-1.0

Merge remote-tracking branch 'origin/release-1.0' into release-1.0 #20

Workflow file for this run

name: Release
on:
push:
branches: [release*]
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
jobs:
prepare:
name: Prepare
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare branch
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git checkout -b workflow-$GITHUB_RUN_ID
versionSnapshot=`grep 'version=' gradle.properties | sed 's/version=\([^-]*\)/\1/'`
versionRelease=`echo $versionSnapshot | sed 's/\([^-]*\)-SNAPSHOT/\1/'`
versionSnapshotNext=`echo $versionSnapshot | perl -pe 's/^((\d+\.)*)(\d+)(.*)$/$1.($3+1).$4/e'`
echo "$versionSnapshot -> $versionRelease -> $versionSnapshotNext"
sed -i "s/version=$versionSnapshot/version=$versionRelease/" gradle.properties
git commit -am "[skip-ci] Generate release version"
sed -i "s/version=$versionRelease/version=$versionSnapshotNext/" gradle.properties
git commit -am "[skip-ci] Generate next snapshot version"
git push origin HEAD
build:
name: Build Java ${{ matrix.java }} (${{ matrix.os }})
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: prepare
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
java: [ '11' ]
os: [ 'ubuntu-20.04']
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout branch (Windows)
if: matrix.os == 'windows-latest'
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git fetch
git checkout -b workflow-$env:GITHUB_RUN_ID origin/workflow-$env:GITHUB_RUN_ID~1
- name: Checkout branch (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git fetch
git checkout -b workflow-$GITHUB_RUN_ID origin/workflow-$GITHUB_RUN_ID~1
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Build with gradle
run: ./gradlew build
release:
name: Release
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: build
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
- name: Release branch
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git fetch
git checkout -b workflow-$GITHUB_RUN_ID origin/workflow-$GITHUB_RUN_ID~1
versionRelease=`grep 'version=' gradle.properties | sed 's/version=\([^-]*\)/\1/'`
echo $versionRelease
git tag $versionRelease
git push origin $versionRelease
git push origin origin/workflow-$GITHUB_RUN_ID:$GITHUB_REF
publish:
name: Publish Maven
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: release
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Checkout branch
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git fetch
git checkout -b workflow-$GITHUB_RUN_ID origin/workflow-$GITHUB_RUN_ID~1
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Publish jars
run: ./gradlew publishAll
env:
SONATYPE_REPOSITORY: ${{ secrets.SONATYPE_REPOSITORY }}
SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
SIGNING_PRIVATE_KEY: ${{ secrets.SIGNING_PRIVATE_KEY }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
cleanup:
name: Cleanup
if: ${{ always() && !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: publish
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cleanup
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git push origin --delete workflow-$GITHUB_RUN_ID || true