diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000000..51c2562ecc --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,47 @@ +name: release + +on: + push: + tags: + - '**' + +env: + GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + + - name: Build and publish artifacts + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }} + run: ./gradlew publish + + - name: Extract release notes + id: release_notes + uses: ffurrer2/extract-release-notes@v2 + + - name: Create release + uses: ncipollo/release-action@v1 + with: + body: ${{ steps.release_notes.outputs.release_notes }} + discussionCategory: Announcements + + - run: ./gradlew prepareWebsite + + - name: Deploy docs to website + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: site + FOLDER: build/docs/site + CLEAN: true