diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..2b52db6 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,108 @@ +name: SmallRye Build + +on: + push: + branches: + - main + paths-ignore: + - '.gitignore' + - 'CODEOWNERS' + - 'LICENSE' + - 'NOTICE' + - 'README*' + pull_request: + branches: + - main + paths-ignore: + - '.gitignore' + - 'CODEOWNERS' + - 'LICENSE' + - 'NOTICE' + - 'README*' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ + { 'version': '11', 'opts': '' }, + { 'version': '17', 'opts': '' }, + { 'version': '20', 'opts': '' } + ] + name: build with jdk ${{matrix.java.version}} + + steps: + - uses: actions/checkout@v4 + name: checkout + + - uses: actions/setup-java@v3 + name: set up jdk ${{matrix.java.version}} + with: + distribution: temurin + java-version: ${{matrix.java.version}} + cache: maven + + - name: build with maven + run: mvn -B formatter:validate install --file pom.xml ${{matrix.java.opts}} + + build-windows: + runs-on: windows-latest + strategy: + matrix: + java: [ + { 'version': '11', 'opts': '' }, + { 'version': '17', 'opts': '' }, + { 'version': '20', 'opts': '' } + ] + name: build with jdk ${{matrix.java.version}} windows + + steps: + - uses: actions/checkout@v4 + name: checkout + + - uses: actions/setup-java@v3 + name: set up jdk ${{matrix.java.version}} + with: + distribution: temurin + java-version: ${{matrix.java.version}} + cache: maven + + - name: build with maven +# Skip integration tests. TestContainers does not support Windows Server 2019: https://github.com/testcontainers/testcontainers-java/issues/2960 + run: mvn -B formatter:validate test --file pom.xml ${{matrix.java.opts}} + +# compatibility: +# runs-on: ubuntu-20.04 +# name: Compatibility Check +# steps: +# - uses: actions/checkout@v4 +# - uses: actions/setup-java@v3 +# with: +# java-version: 17 +# distribution: temurin +# cache: maven +# - name: Compatibility Check +# run: mvn install -DskipTests && mvn install revapi:check@check-compatibility -DskipTests -fae -pl \!bom +# +# quality: +# needs: [build] +# if: github.event_name == 'push' && github.repository_owner == 'smallrye' +# runs-on: ubuntu-latest +# name: quality +# +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# - uses: actions/setup-java@v3 +# with: +# distribution: temurin +# java-version: 17 +# cache: maven +# +# - name: sonar +# env: +# GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +# SONAR_TOKEN: ${{secrets.SONAR_TOKEN}} +# run: mvn -B install --file pom.xml -Pcoverage javadoc:javadoc sonar:sonar -Dsonar.login=$SONAR_TOKEN -Drevapi.skip=true