Skip to content

Improve JDK compatibility (#37) #4

Improve JDK compatibility (#37)

Improve JDK compatibility (#37) #4

Workflow file for this run

name: Create & Publish new release
on:
push:
branches:
- master
jobs:
changesets:
runs-on: ubuntu-latest
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_KEY_FILE: ${{ secrets.GPG_KEY_FILE }}
GPG_KEY_PASSWORD: ${{ secrets.GPG_KEY_PASSWORD }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get tags
run: git fetch --tags origin
- name: Setup java environment
uses: actions/setup-java@v3
with:
distribution: 'corretto'
java-version: '17'
- name: Setup Node.js environment
uses: actions/setup-node@v3
- name: Install changeset dependencies
run: npm install
- name: Create release PR if new changesets are present
id: changesets
uses: changesets/action@v1
with:
title: 'New Release'
commit: 'Release new version'
version: npm run version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create new release if release PR is merged
if: steps.changesets.outputs.hasChangesets == 'false'
run: |
npx changeset tag && git push origin --tags
COMMIT_TAG=$(git tag --points-at HEAD)
if [ -n "$COMMIT_TAG" ]; then
echo "A tag is attached to HEAD. Creating a new release..."
echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
CHANGELOG=$(awk '
BEGIN { recording=0; }
/^## / {
if(recording) { exit; }
recording=1;
next;
}
recording {
print;
}
' CHANGELOG.md)
gh release create v$COMMIT_TAG -t "v$COMMIT_TAG" -n "$CHANGELOG"
./generate_gradle_properties.bash ${{ github.workspace }}
./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
else
echo "No tag attached to HEAD. No new release needed."
fi