diff --git a/.github/quarkus-ecosystem-test b/.github/quarkus-ecosystem-test new file mode 100755 index 000000000000..ff9871bc34b2 --- /dev/null +++ b/.github/quarkus-ecosystem-test @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -e + +mkdir -p ~/.m2 ; cp .github/settings.xml ~/.m2/ + +# update Quarkus dependencies +# TODO: aligning parent pom versions with upstream Quarkus breaks compilation +mvn versions:compare-dependencies \ + -f quarkus/pom.xml \ + -DremotePom=io.quarkus:quarkus-bom:${QUARKUS_VERSION} \ + -DupdatePropertyVersions=true \ + -DupdateDependencies=true \ + -DgenerateBackupPoms=false + +# update Quarkus version +mvn -f quarkus/pom.xml versions:set-property -DgenerateBackupPoms=false -Dproperty=quarkus.version -DnewVersion=${QUARKUS_VERSION} + +# Generate the Keycloak distribution +mvn clean install -DskipTests -Pdistribution + +# run the tests +mvn clean test -f quarkus/tests/pom.xml diff --git a/.github/workflows/quarkus-snapshot.yaml b/.github/workflows/quarkus-snapshot.yaml new file mode 100644 index 000000000000..8b3c611adbd8 --- /dev/null +++ b/.github/workflows/quarkus-snapshot.yaml @@ -0,0 +1,52 @@ +name: "Quarkus ecosystem CI" +on: + watch: + types: [started] + + # For this CI to work, ECOSYSTEM_CI_TOKEN needs to contain a GitHub with rights to close the Quarkus issue that the user/bot has opened, + # while 'ECOSYSTEM_CI_REPO_PATH' needs to be set to the corresponding path in the 'quarkusio/quarkus-ecosystem-ci' repository + +env: + ECOSYSTEM_CI_REPO: quarkusio/quarkus-ecosystem-ci + ECOSYSTEM_CI_REPO_FILE: context.yaml + JAVA_VERSION: 11 + + ######################### + # Repo specific setting # + ######################### + + ECOSYSTEM_CI_REPO_PATH: keycloak-quarkus + +jobs: + quarkus-main: + name: "Build against latest Quarkus snapshot" + runs-on: ubuntu-latest + if: github.actor == 'quarkusbot' + + steps: + - name: Install yq + run: sudo add-apt-repository ppa:rmescandon/yq && sudo apt update && sudo apt install yq -y + + - name: Set up Java + uses: actions/setup-java@v1 + with: + java-version: ${{ env.JAVA_VERSION }} + + - name: Checkout current repository on main + uses: actions/checkout@v2 + with: + path: current-repo + ref: main + + - name: Checkout Ecosystem + uses: actions/checkout@v2 + with: + repository: ${{ env.ECOSYSTEM_CI_REPO }} + ref: main + path: ecosystem-ci + + - name: Setup and Run Tests against Quarkus main + run: ./ecosystem-ci/setup-and-test + env: + ECOSYSTEM_CI_TOKEN: ${{ secrets.ECOSYSTEM_CI_TOKEN }} + \ No newline at end of file