From 8b3f84af1b1c5f4e1a364b9e5fda96704322b20b Mon Sep 17 00:00:00 2001 From: Roberto Cortez Date: Thu, 17 Oct 2024 00:06:44 +0100 Subject: [PATCH] Split and Reuse the Release workflow --- .github/release/maven-settings.xml.gpg | Bin 316 -> 0 bytes .github/release/smallrye-sign.asc.gpg | Bin 6497 -> 0 bytes .github/workflows/prepare-release.yml | 18 ++++ .github/workflows/publish-tck.yml | 41 ++++++++ .github/workflows/release.yml | 88 +++++++----------- .../{pre-release.yml => review-release.yml} | 0 .github/workflows/update-milestone.yml | 17 ++++ pom.xml | 14 ++- 8 files changed, 121 insertions(+), 57 deletions(-) delete mode 100644 .github/release/maven-settings.xml.gpg delete mode 100644 .github/release/smallrye-sign.asc.gpg create mode 100644 .github/workflows/prepare-release.yml create mode 100644 .github/workflows/publish-tck.yml rename .github/workflows/{pre-release.yml => review-release.yml} (100%) create mode 100644 .github/workflows/update-milestone.yml diff --git a/.github/release/maven-settings.xml.gpg b/.github/release/maven-settings.xml.gpg deleted file mode 100644 index d25987610a91c8967d2c8748cab9b083afbba74a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmV-C0mJ@`4Fm}T0`_T`vYNd<9@5glY5_?+)TU&p@xbLZKlf`UH+_n1kn(Eyzm$SM}2 zL%Mz{!8l0$ld6DvB?|fl_loCE%K3~$E^V$6BR^j=7cHP_a`Qb-Aa=>q;!CH!Ec~Im zoWIJ?C>2B?!3C_W;AbBY-aB4QlVuSFn8d@0mIp}JzuhY3eD#9VMOkQQ&2|BO-jhx^ zmCrk)8oEDji=r%;NNl4IGG2nG(&*IujWV>1~DSjBKTtl9JuMo8Lz8 OTLOm%C^$M3Ge#Z<@|NHL diff --git a/.github/release/smallrye-sign.asc.gpg b/.github/release/smallrye-sign.asc.gpg deleted file mode 100644 index ffd7b0f07da56e837c901173bde53f6f4fbc5be1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6497 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 Hu$vxMDsQoM diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml new file mode 100644 index 00000000..3d61f165 --- /dev/null +++ b/.github/workflows/prepare-release.yml @@ -0,0 +1,18 @@ +name: SmallRye Prepare Release + +on: + pull_request: + types: [ closed ] + paths: + - '.github/project.yml' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + prepare-release: + name: Prepare Release + if: ${{ github.event.pull_request.merged == true}} + uses: smallrye/.github/.github/workflows/prepare-release.yml@main + secrets: inherit diff --git a/.github/workflows/publish-tck.yml b/.github/workflows/publish-tck.yml new file mode 100644 index 00000000..05e4c135 --- /dev/null +++ b/.github/workflows/publish-tck.yml @@ -0,0 +1,41 @@ +name: Publish TCK + +on: + workflow_call: + inputs: + version: + required: true + description: Tag version to perform release + type: string + +jobs: + publish-tck: + name: Publish TCK + runs-on: ubuntu-latest + strategy: + matrix: + java: [ 11, 17, 21 ] + + steps: + - uses: actions/checkout@v4 + name: checkout ${{inputs.version}} + with: + ref: ${{inputs.version}} + + - uses: actions/setup-java@v4 + name: set up jdk ${{matrix.java}} + with: + distribution: 'temurin' + java-version: ${{matrix.java}} + cache: 'maven' + cache-dependency-path: '**/pom.xml' + + - name: generate tck report for jdk ${{matrix.java}} + env: + GH_TOKEN: ${{secrets.GITHUB_TOKEN}} + ZIP_NAME: smallrye-health-${{inputs.version}}-tck-results-java-${{matrix.java}}.zip + run: | + mvn -B formatter:validate verify --file pom.xml + cd testsuite/tck/target + zip -r $ZIP_NAME surefire-reports/ + gh release upload ${{inputs.version}} $ZIP_NAME diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 64d6792a..bd025dd0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,60 +1,36 @@ name: SmallRye Release - +run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release on: - pull_request: - types: [closed] - paths: - - '.github/project.yml' + push: + tags: + - '*' + workflow_dispatch: + inputs: + tag: + description: 'Tag to release' + required: true + +permissions: + attestations: write + id-token: write + # Needed for the publish-* workflows + contents: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: - release: - runs-on: ubuntu-latest - name: release - if: ${{github.event.pull_request.merged == true}} - env: - GITHUB_TOKEN: ${{secrets.RELEASE_TOKEN}} - - 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@v2 - with: - token: ${{secrets.RELEASE_TOKEN}} - - - uses: actions/setup-java@v2 - with: - java-version: 11 - distribution: temurin - - - name: maven release ${{steps.metadata.outputs.current-version}} - run: | - java -version - gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output smallrye-sign.asc .github/release/smallrye-sign.asc.gpg - gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output maven-settings.xml .github/release/maven-settings.xml.gpg - gpg --fast-import --no-tty --batch --yes smallrye-sign.asc - git config --global user.name "SmallRye CI" - git config --global user.email "smallrye@googlegroups.com" - git checkout -b release - mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} -s maven-settings.xml - git checkout ${{github.base_ref}} - git rebase release - mvn -B release:perform -Prelease -s maven-settings.xml - git push - git push --tags - - - uses: actions/upload-artifact@v2 - name: tck-report - with: - name: tck-report - path: testsuite/tck/target/surefire-reports - - - uses: radcortez/milestone-release-action@main - name: milestone release - with: - github-token: ${{secrets.GITHUB_TOKEN}} - milestone-title: ${{steps.metadata.outputs.current-version}} + perform-release: + name: Perform Release + uses: smallrye/.github/.github/workflows/perform-release.yml@main + secrets: inherit + with: + version: ${{github.event.inputs.tag || github.ref_name}} + + publish-tck: + name: Publish TCK Report + uses: ./.github/workflows/publish-tck.yml + secrets: inherit + with: + version: ${{github.event.inputs.tag || github.ref_name}} diff --git a/.github/workflows/pre-release.yml b/.github/workflows/review-release.yml similarity index 100% rename from .github/workflows/pre-release.yml rename to .github/workflows/review-release.yml diff --git a/.github/workflows/update-milestone.yml b/.github/workflows/update-milestone.yml new file mode 100644 index 00000000..5a1f3354 --- /dev/null +++ b/.github/workflows/update-milestone.yml @@ -0,0 +1,17 @@ +name: Update Milestone + +on: + pull_request_target: + types: [closed] + +jobs: + update: + runs-on: ubuntu-latest + name: update-milestone + if: ${{github.event.pull_request.merged == true}} + + steps: + - uses: radcortez/milestone-set-action@main + name: milestone set + with: + github-token: ${{secrets.GITHUB_TOKEN}} diff --git a/pom.xml b/pom.xml index 26cd1eac..4ff7537d 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,6 @@ api implementation - testsuite ui provided-checks @@ -282,6 +281,19 @@ + + unpublished + + + performRelease + !true + + + + testsuite + + + release