diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d5d28c41..025861b2f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,38 +2,9 @@ name: "Pull Request CI" on: - pull_request jobs: - build-dependencies: - name: Build Dependencies - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11 ] - steps: - - uses: actions/checkout@v3 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - - name: Build Quarkus main - run: | - git clone https://github.com/quarkusio/quarkus.git && cd quarkus && ./mvnw -B -s .github/mvn-settings.xml clean install -Dquickly -Dno-test-modules -Prelocations - - name: Tar Maven Repo - shell: bash - run: tar -I 'pigz -9' -cf maven-repo.tgz -C ~ .m2/repository - - name: Persist Maven Repo - uses: actions/upload-artifact@v3 - with: - name: maven-repo - path: maven-repo.tgz - retention-days: 1 linux-validate-format: name: Linux - Validate format runs-on: ubuntu-latest - needs: build-dependencies strategy: matrix: java: [ 11 ] @@ -45,21 +16,13 @@ jobs: distribution: 'temurin' java-version: ${{ matrix.java }} check-latest: true - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - name: Build with Maven run: | mvn -V -B -s .github/mvn-settings.xml verify -Dall-modules -Dvalidate-format -DskipTests -DskipITs -Dquarkus.container-image.build=false -Dquarkus.container-image.push=false detect-test-suite-modules: name: Detect Modules in PR runs-on: ubuntu-latest - needs: [ build-dependencies, linux-validate-format ] + needs: [ linux-validate-format ] steps: - uses: actions/checkout@v3 - id: files @@ -83,7 +46,7 @@ jobs: outputs: MODULES_ARG: ${{ steps.detect-changes.outputs.MODULES_ARG }} linux-build-jvm-latest: - name: PR - Linux - JVM build - Latest Version + name: PR - Linux - JVM build - 3.2 runs-on: ubuntu-latest timeout-minutes: 240 needs: detect-test-suite-modules @@ -104,22 +67,12 @@ jobs: java-version: ${{ matrix.java }} check-latest: true cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - name: Install Quarkus CLI run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar ~/.m2/repository/io/quarkus/quarkus-cli/999-SNAPSHOT/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version + wget -O quarkus-cli.zip -q --no-check-certificate --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 10 https://github.com/quarkusio/quarkus/releases/download/3.2.2.Final/quarkus-cli-3.2.2.Final.zip + unzip -qo quarkus-cli.zip + chmod +x ./quarkus-cli-3.2.2.Final/bin/quarkus + ./quarkus-cli-3.2.2.Final/bin/quarkus version - name: Build with Maven run: | MODULES_MAVEN_PARAM="" @@ -128,7 +81,7 @@ jobs: MODULES_MAVEN_PARAM="-pl ${MODULES_ARG}" fi - mvn -fae -V -B -s .github/mvn-settings.xml clean verify -Dall-modules -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" $MODULES_MAVEN_PARAM -am + mvn -fae -V -B -s .github/mvn-settings.xml clean verify -Dall-modules -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-cli-3.2.2.Final/bin/quarkus" $MODULES_MAVEN_PARAM -am - name: Zip Artifacts if: failure() run: | @@ -139,7 +92,7 @@ jobs: name: ci-artifacts path: artifacts-latest-linux-jvm${{ matrix.java }}.zip linux-build-native-latest: - name: PR - Linux - Native build - Latest Version + name: PR - Linux - Native build - 3.2 runs-on: ubuntu-latest needs: detect-test-suite-modules env: @@ -159,28 +112,18 @@ jobs: java-version: ${{ matrix.java }} check-latest: true cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - name: Install Quarkus CLI run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar ~/.m2/repository/io/quarkus/quarkus-cli/999-SNAPSHOT/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version + wget -O quarkus-cli.zip -q --no-check-certificate --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 10 https://github.com/quarkusio/quarkus/releases/download/3.2.2.Final/quarkus-cli-3.2.2.Final.zip + unzip -qo quarkus-cli.zip + chmod +x ./quarkus-cli-3.2.2.Final/bin/quarkus + ./quarkus-cli-3.2.2.Final/bin/quarkus version - name: Build with Maven run: | if [[ -n ${MODULES_ARG} ]]; then echo "Running modules: ${MODULES_ARG}" mvn -fae -V -B -s .github/mvn-settings.xml -fae -Dall-modules \ - -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" \ + -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-cli-3.2.2.Final/bin/quarkus" \ -pl $MODULES_ARG clean verify -Dnative -am fi - name: Zip Artifacts @@ -210,14 +153,6 @@ jobs: java-version: ${{ matrix.java }} check-latest: true cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - name: Build in JVM mode shell: bash run: | diff --git a/.github/workflows/daily.yaml b/.github/workflows/daily.yaml deleted file mode 100644 index e1ceb1b9f..000000000 --- a/.github/workflows/daily.yaml +++ /dev/null @@ -1,235 +0,0 @@ -name: "Daily Build" -on: - workflow_dispatch: - schedule: - - cron: '30 0 * * *' -jobs: - build-dependencies: - name: Build Dependencies - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11 ] - steps: - - uses: actions/checkout@v3 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - - name: Build Quarkus main - run: | - git clone https://github.com/quarkusio/quarkus.git && cd quarkus && ./mvnw -B -s .github/mvn-settings.xml clean install -Dquickly -Dno-test-modules -Prelocations - - name: Tar Maven Repo - shell: bash - run: tar -I 'pigz -9' -cf maven-repo.tgz -C ~ .m2/repository - - name: Persist Maven Repo - uses: actions/upload-artifact@v3 - with: - name: maven-repo - path: maven-repo.tgz - retention-days: 1 - linux-build-jvm-latest: - name: Daily - Linux - JVM build - Latest Version - runs-on: ubuntu-latest - needs: build-dependencies - strategy: - matrix: - java: [ 11, 17 ] - profiles: [ "root-modules,http-modules,security-modules,monitoring-modules,spring-modules,test-tooling-modules", - "sql-db-modules", - "messaging-modules,websockets-modules"] - steps: - - uses: actions/checkout@v3 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Install Quarkus CLI - run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar ~/.m2/repository/io/quarkus/quarkus-cli/999-SNAPSHOT/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version - - name: Test in JVM mode - run: | - mvn -fae -V -B -s .github/mvn-settings.xml -fae clean verify -P ${{ matrix.profiles }} -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-jvm${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ci-artifacts - path: artifacts-jvm${{ matrix.java }}.zip - linux-build-native-latest: - name: Daily - Linux - Native build - Latest Version - runs-on: ubuntu-latest - needs: build-dependencies - strategy: - matrix: - java: [ 11 ] - image: [ "ubi-quarkus-graalvmce-builder-image:22.3-java17", "ubi-quarkus-mandrel-builder-image:22.3-java17" ] - profiles: [ "root-modules,monitoring-modules,spring-modules,test-tooling-modules", - "http-modules", - "security-modules", - "sql-db-modules -pl env-info,sql-db/hibernate,sql-db/sql-app,sql-db/sql-app-compatibility,sql-db/multiple-pus,sql-db/panache-flyway,sql-db/hibernate-reactive", - "sql-db-modules -pl env-info,sql-db/reactive-rest-data-panache,sql-db/vertx-sql,sql-db/reactive-vanilla,sql-db/hibernate-fulltext-search,sql-db/narayana-transactions", - "messaging-modules,websockets-modules"] - steps: - - uses: actions/checkout@v3 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Install Quarkus CLI - run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar ~/.m2/repository/io/quarkus/quarkus-cli/999-SNAPSHOT/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version - - name: Test in Native mode - run: | - mvn -fae -V -B -s .github/mvn-settings.xml -P ${{ matrix.profiles }} -fae clean verify -Dnative \ - -Dquarkus.native.builder-image=quay.io/quarkus/${{ matrix.image }} \ - -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-native${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ci-artifacts - path: artifacts-native${{ matrix.java }}.zip - windows-build-jvm-latest: - name: Daily - Windows - JVM build - Latest Version - runs-on: windows-latest - needs: build-dependencies - strategy: - matrix: - java: [ 11, 17 ] - steps: - - uses: actions/checkout@v3 - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Build in JVM mode - shell: bash - run: | - mvn -B -fae -s .github/mvn-settings.xml clean verify - - name: Zip Artifacts - shell: bash - if: failure() - run: | - # Disambiguate windows find from cygwin find - /usr/bin/find . -name '*-reports/*' -type d | tar -czf artifacts-latest-windows-jvm${{ matrix.java }}.tar -T - - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ci-artifacts - path: artifacts-latest-windows-jvm${{ matrix.java }}.tar - windows-build-native-latest: - name: Daily - Windows - Native build - Latest Version - runs-on: windows-latest - needs: build-dependencies - strategy: - matrix: - java: [ 11 ] - graalvm-version: [ "22.3.0" ] - graalvm-java-version: [ "17" ] - steps: - - uses: actions/checkout@v3 - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v3 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Setup GraalVM - id: setup-graalvm - uses: graalvm/setup-graalvm@v1 - with: - version: ${{ matrix.graalvm-version }} - java-version: ${{ matrix.graalvm-java-version }} - components: 'native-image' - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Configure Pagefile - # Increased the page-file size due to memory-consumption of native-image command - # For details see https://github.com/actions/virtual-environments/issues/785 - uses: al-cheb/configure-pagefile-action@v1.3 - - name: Build in Native mode - shell: bash - run: | - # Running only http/http-minimum as after some time, it gives disk full in Windows when running on Native. - mvn -B -fae -s .github/mvn-settings.xml clean verify -Dall-modules -Dnative -Dquarkus.native.container-build=false -pl http/http-minimum - - name: Zip Artifacts - shell: bash - if: failure() - run: | - # Disambiguate windows find from cygwin find - /usr/bin/find . -name '*-reports/*' -type d | tar -czf artifacts-latest-windows-native${{ matrix.java }}.tar -T - - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ci-artifacts - path: artifacts-latest-windows-native${{ matrix.java }}.tar diff --git a/.github/workflows/quarkus-snapshot.yaml b/.github/workflows/quarkus-snapshot.yaml deleted file mode 100644 index f206cff75..000000000 --- a/.github/workflows/quarkus-snapshot.yaml +++ /dev/null @@ -1,59 +0,0 @@ -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: quarkus-qe-ts # a directory inside the ${ECOSYSTEM_CI_REPO} - -jobs: - build: - name: "Build against latest Quarkus snapshot" - runs-on: ubuntu-latest - if: github.actor == 'quarkusbot' || github.actor == 'Sgitario' || github.actor == 'rsvoboda' - strategy: - fail-fast: true - matrix: - profiles: [ "root-modules-no-qute,monitoring-modules,spring-modules,test-tooling-modules", - "http-modules", - "security-modules", - "sql-db-modules", - "messaging-modules-no-kafka,websockets-modules"] - - 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@v3 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: 'temurin' - - - name: Checkout repo - uses: actions/checkout@v3 - with: - path: current-repo - - - name: Checkout Ecosystem - uses: actions/checkout@v3 - with: - repository: ${{ env.ECOSYSTEM_CI_REPO }} - path: ecosystem-ci - - - name: Setup and Run Tests - run: ./ecosystem-ci/setup-and-test - env: - ECOSYSTEM_CI_TOKEN: ${{ secrets.ECOSYSTEM_CI_TOKEN }} - MAVEN_PROFILES: ${{ matrix.profiles }}