From cc224d39029e4579982f4c424ef7b0d2a86c5719 Mon Sep 17 00:00:00 2001 From: George Gastaldi Date: Fri, 13 Sep 2024 17:49:31 -0300 Subject: [PATCH] Using reusable workflows in Quarkiverse release process --- .../.github/workflows/release.tpl.qute.yml | 72 ++++--------------- ...rkiverse-ext_.github_workflows_release.yml | 72 ++++--------------- 2 files changed, 28 insertions(+), 116 deletions(-) diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus-extension/code/quarkiverse/java/.github/workflows/release.tpl.qute.yml b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus-extension/code/quarkiverse/java/.github/workflows/release.tpl.qute.yml index bb3d54d2768ba..fb96ae2c77d22 100644 --- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus-extension/code/quarkiverse/java/.github/workflows/release.tpl.qute.yml +++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus-extension/code/quarkiverse/java/.github/workflows/release.tpl.qute.yml @@ -2,7 +2,7 @@ name: Quarkiverse Release on: pull_request: - types: [closed] + types: [ closed ] paths: - '.github/project.yml' @@ -10,61 +10,17 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true -defaults: - run: - shell: bash - jobs: - release: - runs-on: ubuntu-latest - name: release - if: ${{github.event.pull_request.merged == true}} - - steps: - - uses: radcortez/project-metadata-action@main - name: Retrieve project metadata - id: metadata - with: - github-token: ${{secrets.GITHUB_TOKEN}} - metadata-file-path: '.github/project.yml' - - - uses: actions/checkout@v4 - - - name: Set up JDK {java.version} - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: {java.version} - cache: 'maven' - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - gpg-passphrase: MAVEN_GPG_PASSPHRASE - - - name: Configure Git author - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - - - name: Update latest release version in docs - run: | - mvn -B -ntp -pl docs -am package -DskipTests -DskipITs -Denforcer.skip -Dformatter.skip -Dimpsort.skip - if ! git diff --quiet docs/modules/ROOT/pages/includes; then - git add docs/modules/ROOT/pages/includes - git commit -m "Update the latest release version ${{steps.metadata.outputs.current-version}} in documentation" - fi - - - name: Maven release ${{steps.metadata.outputs.current-version}} - run: | - mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} - mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - - - name: Push changes to ${{github.base_ref}} branch - run: | - git push - git push origin ${{steps.metadata.outputs.current-version}} + prepare-release: + name: Prepare Release + if: ${{ github.event.pull_request.merged == true}} + uses: quarkiverse/.github/.github/workflows/prepare-release.yml@main + secrets: inherit + + perform-release: + name: Perform Release + needs: prepare-release + uses: quarkiverse/.github/.github/workflows/perform-release.yml@main + secrets: inherit + with: + version: ${{needs.prepare-release.outputs.release-version}} diff --git a/integration-tests/maven/src/test/resources/__snapshots__/CreateExtensionMojoIT/testCreateQuarkiverseExtension/quarkus-my-quarkiverse-ext_.github_workflows_release.yml b/integration-tests/maven/src/test/resources/__snapshots__/CreateExtensionMojoIT/testCreateQuarkiverseExtension/quarkus-my-quarkiverse-ext_.github_workflows_release.yml index b43c1ee0f931d..fb96ae2c77d22 100644 --- a/integration-tests/maven/src/test/resources/__snapshots__/CreateExtensionMojoIT/testCreateQuarkiverseExtension/quarkus-my-quarkiverse-ext_.github_workflows_release.yml +++ b/integration-tests/maven/src/test/resources/__snapshots__/CreateExtensionMojoIT/testCreateQuarkiverseExtension/quarkus-my-quarkiverse-ext_.github_workflows_release.yml @@ -2,7 +2,7 @@ name: Quarkiverse Release on: pull_request: - types: [closed] + types: [ closed ] paths: - '.github/project.yml' @@ -10,61 +10,17 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true -defaults: - run: - shell: bash - jobs: - release: - runs-on: ubuntu-latest - name: release - if: ${{github.event.pull_request.merged == true}} - - steps: - - uses: radcortez/project-metadata-action@main - name: Retrieve project metadata - id: metadata - with: - github-token: ${{secrets.GITHUB_TOKEN}} - metadata-file-path: '.github/project.yml' - - - uses: actions/checkout@v4 - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 17 - cache: 'maven' - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - gpg-passphrase: MAVEN_GPG_PASSPHRASE - - - name: Configure Git author - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - - - name: Update latest release version in docs - run: | - mvn -B -ntp -pl docs -am package -DskipTests -DskipITs -Denforcer.skip -Dformatter.skip -Dimpsort.skip - if ! git diff --quiet docs/modules/ROOT/pages/includes; then - git add docs/modules/ROOT/pages/includes - git commit -m "Update the latest release version ${{steps.metadata.outputs.current-version}} in documentation" - fi - - - name: Maven release ${{steps.metadata.outputs.current-version}} - run: | - mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} - mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - - - name: Push changes to ${{github.base_ref}} branch - run: | - git push - git push origin ${{steps.metadata.outputs.current-version}} + prepare-release: + name: Prepare Release + if: ${{ github.event.pull_request.merged == true}} + uses: quarkiverse/.github/.github/workflows/prepare-release.yml@main + secrets: inherit + + perform-release: + name: Perform Release + needs: prepare-release + uses: quarkiverse/.github/.github/workflows/perform-release.yml@main + secrets: inherit + with: + version: ${{needs.prepare-release.outputs.release-version}}