Release v2024.0.0-M1 #79
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: [email protected] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'adopt' | |
| java-version: ${{ matrix.java }} | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - 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/[email protected] | |
| 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 Sonatype OSSRH | |
| id: publish | |
| if: steps.upload_artifacts.outcome == 'success' | |
| env: | |
| SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
| SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
| SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }} | |
| SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }} | |
| 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 |