Release v2024.0.0 #88
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Grace Release | |
| on: | |
| push: | |
| tags: | |
| - v* | |
| permissions: | |
| contents: write | |
| jobs: | |
| create_draft_release: | |
| if: ${{ github.repository == 'graceframework/grace-framework' }} | |
| runs-on: ubuntu-latest | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| steps: | |
| - name: Create draft release | |
| run: | | |
| gh release create \ | |
| --repo ${{ github.repository }} \ | |
| --title ${{ github.ref_name }} \ | |
| --notes '' \ | |
| --draft \ | |
| ${{ github.ref_name }} | |
| release_and_publish: | |
| needs: create_draft_release | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java: ['17'] | |
| env: | |
| GIT_USER_NAME: rainboyan | |
| GIT_USER_EMAIL: rain@rainboyan.com | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'adopt' | |
| java-version: ${{ matrix.java }} | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2 | |
| - name: Extract Target Branch | |
| id: extract_branch | |
| run: | | |
| echo "Determining Target Branch" | |
| TARGET_BRANCH=`cat $GITHUB_EVENT_PATH | jq '.release.target_commitish' | sed -e 's/^"\(.*\)"$/\1/g'` | |
| echo $TARGET_BRANCH | |
| echo ::set-output name=value::${TARGET_BRANCH} | |
| - name: Set the current release version | |
| id: release_version | |
| run: echo "release_version=${GITHUB_REF:11}" >> $GITHUB_OUTPUT | |
| - name: Run Assemble | |
| id: assemble | |
| run: ./gradlew assemble | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: rainboyan/deploy-github-pages@v1.1.0 | |
| env: | |
| VERSION: ${{ steps.release_version.outputs.release_version }} | |
| TOKEN: ${{ secrets.GH_TOKEN }} | |
| BRANCH: gh-pages | |
| FOLDER: docs/build/docs/manual | |
| - name: Upload artifacts to the Github release | |
| id: upload_artifacts | |
| if: steps.assemble.outcome == 'success' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh release upload --clobber "${{ github.ref_name }}" \ | |
| build/distributions/grace-${{ steps.release_version.outputs.release_version }}-bin.zip \ | |
| build/distributions/grace-${{ steps.release_version.outputs.release_version }}-docs.zip \ | |
| build/distributions/grace-${{ steps.release_version.outputs.release_version }}-sources.zip | |
| - name: Generate secring file | |
| env: | |
| SECRING_FILE: ${{ secrets.SECRING_FILE }} | |
| run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg | |
| - name: Publish to Maven Central Portal | |
| id: publish | |
| if: steps.upload_artifacts.outcome == 'success' | |
| env: | |
| MAVEN_CENTRAL_USER: ${{ secrets.MAVEN_CENTRAL_USER }} | |
| MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | |
| SIGNING_KEY: ${{ secrets.SIGNING_KEY }} | |
| SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} | |
| SECRING_FILE: ${{ secrets.SECRING_FILE }} | |
| run: ./gradlew -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg publishToSonatype closeAndReleaseSonatypeStagingRepository |