Skip to content

Update project.yml #106

Update project.yml

Update project.yml #106

Workflow file for this run

name: SmallRye Release
on:
pull_request:
types: [closed]
paths:
- '.github/project.yml'
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@v4
with:
token: ${{secrets.RELEASE_TOKEN}}
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- name: maven cache
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- 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 "[email protected]"
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
- name: Gradle plugin release ${{steps.metadata.outputs.current-version}}
uses: gradle/gradle-build-action@v2
with:
build-root-directory: ./tools/gradle-plugin
cache-read-only: true
arguments: publishPlugins -Pgradle.publish.key=${{secrets.GRADLE_PUBLISH_KEY}} -Pgradle.publish.secret=${{secrets.GRADLE_PUBLISH_SECRET}}
- uses: actions/upload-artifact@v3
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}}
tck-reporting:
runs-on: ubuntu-latest
needs: release
strategy:
matrix:
include:
- tck-version: "2.0.1"
- tck-version: "3.0"
- tck-version: "3.1"
name: MicroProfile OpenAPI TCK ${{ matrix.tck-version }}
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: checkout
with:
ref: ${{ steps.metadata.outputs.current-version }}
- uses: actions/setup-java@v3
name: set up jdk
with:
distribution: 'temurin'
java-version: 11
- name: maven cache
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: build with maven
run: mvn -B -pl '!testsuite/extra,!tools,!tools/gradle-plugin,!tools/maven-plugin,!ui,!ui/open-api-ui,!ui/open-api-ui-forms' install -DskipTests
- name: execute tck ${{ matrix.tck-version }}
run: mvn -B test -f testsuite/tck/pom.xml -Dsmallrye.commit=$(git rev-parse HEAD) -Dversion.eclipse.microprofile.openapi=${{ matrix.tck-version }}
- name: stage tck report
run: mv testsuite/tck/target/surefire-reports/microprofile-openapi-tck-report.html ./microprofile-openapi-tck-report-${{ matrix.tck-version }}.html
- uses: meeDamian/[email protected]
name: upload tck asset to release
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.metadata.outputs.current-version }}
allow_override: true
gzip: false
files: microprofile-openapi-tck-report-${{ matrix.tck-version }}.html