From 60740e23024ee3f9be079d8af58980e08d74071f Mon Sep 17 00:00:00 2001 From: Fedor Dudinsky Date: Tue, 12 Nov 2024 17:13:41 +0100 Subject: [PATCH] Use 3.15 in CI - Drop daily runs - Use 3.15.999-SNAPSHOT and 3.15.1 for RP runs - Hardcode ide-config (it has a separate release process) --- .github/workflows/daily.yaml | 416 ----------------------------------- .github/workflows/pr.yaml | 29 ++- pom.xml | 2 +- 3 files changed, 15 insertions(+), 432 deletions(-) delete mode 100644 .github/workflows/daily.yaml diff --git a/.github/workflows/daily.yaml b/.github/workflows/daily.yaml deleted file mode 100644 index c1dc7ba88..000000000 --- a/.github/workflows/daily.yaml +++ /dev/null @@ -1,416 +0,0 @@ -name: "Daily Build" -on: - workflow_dispatch: - schedule: - - cron: '0 23 * * *' -jobs: - quarkus-main-build: - name: Quarkus main build - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 17 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install required tools - run: sudo apt update && sudo apt install pigz - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Build Quarkus main - run: | - git clone https://github.com/quarkusio/quarkus.git && cd quarkus && ./mvnw -B --no-transfer-progress -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@v4 - with: - name: maven-repo - path: maven-repo.tgz - retention-days: 1 - linux-build-jvm-released: - name: Daily - Linux - JVM build - Released Versions - runs-on: ubuntu-latest - strategy: - matrix: - quarkus-version: ["current"] - java: [ 17, 21 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Build - run: | - MAVEN_PROFILES="-Pframework,examples" - - if [[ "${{ matrix.quarkus-version }}" != current ]]; then - QUARKUS_VERSION="-Dquarkus.platform.version=${{ matrix.quarkus-version }}" - fi - - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Dvalidate-format $QUARKUS_VERSION $EXCLUDE_MODULES - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-quarkus${{ matrix.quarkus-version }}-linux-jvm${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: artifacts-quarkus${{ matrix.quarkus-version }}-linux-jvm${{ matrix.java }} - path: artifacts-quarkus${{ matrix.quarkus-version }}-linux-jvm${{ matrix.java }}.zip - linux-build-jvm-latest: - name: Daily - Linux - JVM build - Latest Version - runs-on: ubuntu-latest - needs: quarkus-main-build - strategy: - matrix: - quarkus-version: ["999-SNAPSHOT"] - java: [ 17, 21 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - id: install-jdk - - name: Download Maven Repo - uses: actions/download-artifact@v4 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Build Quarkus CLI - run: | - git clone https://github.com/quarkusio/quarkus.git && cd quarkus/devtools/cli && mvn -B --no-transfer-progress -s ../../../.github/mvn-settings.xml clean install -Dquickly -Dno-test-modules -Prelocations - - name: Install Quarkus CLI - run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar $PWD/quarkus/devtools/cli/target/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version - - name: Build - run: | - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples,coverage -Dvalidate-format -Drun-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" -Dquarkus.platform.version="${{ matrix.quarkus-version }}" - - name: Generate Jacoco Report - run: | - cd coverage-report - mvn -B package - - name: Generate Jacoco Badge - id: jacoco - uses: cicirello/jacoco-badge-generator@v2 - with: - generate-branches-badge: true - jacoco-csv-file: coverage-report/target/site/jacoco/jacoco.csv - - name: Coverage Preparation - id: coverage - run: | - echo "coverage = ${{ steps.jacoco.outputs.coverage }}" - if [[ `git status | grep .svg | wc -l` > 0 ]]; then - echo "needs-commit-badge=true" >> $GITHUB_OUTPUT - else - echo "needs-commit-badge=false" >> $GITHUB_OUTPUT - fi - - name: Commit the badge (if it changed) - if: steps.coverage.outputs.needs-commit-badge == 'true' - run: | - git config --global user.name 'QuarkusQE' - git config --global user.email 'QuarkusQE@users.noreply.github.com' - git add *.svg - git commit -m "Autogenerated JaCoCo coverage badge" - - name: Push the badge (if it changed) - if: steps.coverage.outputs.needs-commit-badge == 'true' - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - force: true - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-latest-linux-jvm${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: artifacts-latest-linux-jvm${{ matrix.java }} - path: artifacts-latest-linux-jvm${{ matrix.java }}.zip - - name: Archive Coverage Report - uses: actions/upload-artifact@v4 - with: - name: ci-coverage${{ matrix.java }} - path: coverage-report/target/site/jacoco - retention-days: 1 - linux-build-native: - name: Daily - Linux - Native build - runs-on: ubuntu-latest - needs: quarkus-main-build - strategy: - matrix: - quarkus-version: ["current", "999-SNAPSHOT"] - java: [ 17 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v4 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Build - run: | - if [[ "${{ matrix.quarkus-version }}" != current ]]; then - QUARKUS_VERSION="-Dquarkus.platform.version=${{ matrix.quarkus-version }}" - fi - - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples,native $QUARKUS_VERSION $EXCLUDE_MODULES - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-native-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: artifacts-native-${{ matrix.quarkus-version }}-${{ matrix.java }} - path: artifacts-native-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip - kubernetes-build-jvm-latest: - name: Daily - Kubernetes - JVM - Latest version - runs-on: ubuntu-latest - needs: quarkus-main-build - strategy: - matrix: - quarkus-version: ["999-SNAPSHOT"] - java: [ 17 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v4 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Set up Minikube-Kubernetes - uses: manusa/actions-setup-minikube@v2.11.0 - with: - minikube version: 'v1.33.1' - kubernetes version: 'v1.30.0' - github token: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Docker Registry - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.CI_REGISTRY_USERNAME }} - password: ${{ secrets.CI_REGISTRY_PASSWORD }} - - name: Build - run: | - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples,kubernetes -Dquarkus.platform.version="${{ matrix.quarkus-version }}" -Dts.container.registry-url=${{ secrets.CI_REGISTRY }} - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-k8s-jvm-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: artifacts-k8s-jvm-${{ matrix.quarkus-version }}-${{ matrix.java }} - path: artifacts-k8s-jvm-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip - kubernetes-build-native-latest: - name: Daily - Kubernetes - Native build - Latest version - runs-on: ubuntu-latest - needs: quarkus-main-build - strategy: - matrix: - quarkus-version: ["999-SNAPSHOT"] - java: [ 21 ] - steps: - - uses: actions/checkout@v4 - - name: Reclaim Disk Space - run: .github/ci-prerequisites.sh - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v4 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Set up Minikube-Kubernetes - uses: manusa/actions-setup-minikube@v2.11.0 - with: - minikube version: 'v1.33.1' - kubernetes version: 'v1.30.0' - github token: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Docker Registry - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.CI_REGISTRY_USERNAME }} - password: ${{ secrets.CI_REGISTRY_PASSWORD }} - - name: Build - run: | - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples,native,kubernetes -Dquarkus.platform.version="${{ matrix.quarkus-version }}" -Dts.container.registry-url=${{ secrets.CI_REGISTRY }} - - name: Zip Artifacts - if: failure() - run: | - zip -R artifacts-k8s-native-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip '*-reports/*' - - name: Archive artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: artifacts-k8s-native-${{ matrix.quarkus-version }}-${{ matrix.java }} - path: artifacts-k8s-native-${{ matrix.quarkus-version }}-${{ matrix.java }}.zip - windows-build-jvm-latest: - name: Daily - Windows - JVM build - Latest Version - runs-on: windows-latest - needs: quarkus-main-build - strategy: - matrix: - java: [ 17, 21 ] - quarkus-version: ["999-SNAPSHOT"] - steps: - - uses: actions/checkout@v4 - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Maven Repo - uses: actions/download-artifact@v4 - 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 --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples -Dquarkus.platform.version="${{ matrix.quarkus-version }}" - - 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@v4 - with: - name: artifacts-latest-windows-jvm${{ matrix.java }} - path: artifacts-latest-windows-jvm${{ matrix.java }}.tar - windows-build-native-latest: - name: Daily - Windows - Native build - Latest Version - runs-on: windows-latest - needs: quarkus-main-build - strategy: - matrix: - java: [ 17 ] - quarkus-version: ["999-SNAPSHOT"] - graalvm-version: ["mandrel-latest"] - graalvm-java: ["21"] - steps: - - uses: actions/checkout@v4 - - name: Install JDK {{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - check-latest: true - cache: 'maven' - - name: Download Sysinternals Handle program used for native race debugging - shell: pwsh - run: Invoke-WebRequest https://download.sysinternals.com/files/Handle.zip -OutFile .\handle.zip - - name: Unzip Sysinternals Handle - shell: pwsh - run: Expand-Archive .\handle.zip -DestinationPath . - - name: Download Maven Repo - uses: actions/download-artifact@v4 - with: - name: maven-repo - path: . - - name: Extract Maven Repo - shell: bash - run: tar -xzf maven-repo.tgz -C ~ - - name: Install cl.exe - uses: ilammy/msvc-dev-cmd@v1 - - uses: microsoft/setup-msbuild@v2 - - name: Setup GraalVM - id: setup-graalvm - uses: graalvm/setup-graalvm@v1 - with: - version: ${{ matrix.graalvm-version }} - java-version: ${{ matrix.graalvm-java }} - 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.4 - - name: Build in Native mode - shell: bash - run: | - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples,native -Dquarkus.native.container-build=false -Dquarkus.platform.version="${{ matrix.quarkus-version }}" - - 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@v4 - with: - name: artifacts-latest-windows-native${{ matrix.java }} - path: artifacts-latest-windows-native${{ matrix.java }}.tar diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4407dd859..d525aa736 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -34,7 +34,7 @@ jobs: path: maven-repo-current-fw.tgz retention-days: 1 quarkus-main-build: - name: Quarkus main build + name: Quarkus 3.15 build runs-on: ubuntu-latest needs: validate-format strategy: @@ -55,7 +55,7 @@ jobs: cache: 'maven' - name: Build Quarkus main run: | - git clone https://github.com/quarkusio/quarkus.git && cd quarkus && ./mvnw -B --no-transfer-progress -s .github/mvn-settings.xml clean install -Dquickly -Dno-test-modules -Prelocations + git clone -b 3.15 https://github.com/quarkusio/quarkus.git && cd quarkus && ./mvnw -B --no-transfer-progress -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 @@ -66,12 +66,12 @@ jobs: path: maven-repo.tgz retention-days: 1 linux-build-jvm-released: - name: Linux - JVM build - Released Versions + name: Linux - JVM build - 3.15.1 runs-on: ubuntu-latest needs: validate-format strategy: matrix: - quarkus-version: ["current"] + quarkus-version: ["3.15.1"] java: [ 17 ] outputs: has-flaky-tests: ${{steps.flaky-test-detector.outputs.has-flaky-tests}} @@ -118,12 +118,12 @@ jobs: name: artifacts-quarkus${{ matrix.quarkus-version }}-linux-jvm${{ matrix.java }} path: artifacts-quarkus${{ matrix.quarkus-version }}-linux-jvm${{ matrix.java }}.zip linux-build-jvm-latest: - name: Linux - JVM build - Latest Version + name: Linux - JVM build - Latest 3.15 Version runs-on: ubuntu-latest needs: quarkus-main-build strategy: matrix: - quarkus-version: ["999-SNAPSHOT"] + quarkus-version: ["3.15.999-SNAPSHOT"] java: [ 17 ] outputs: has-flaky-tests: ${{steps.flaky-test-detector.outputs.has-flaky-tests}} @@ -151,15 +151,14 @@ jobs: git clone https://github.com/quarkusio/quarkus.git && cd quarkus/devtools/cli && mvn -B --no-transfer-progress -s ../../../.github/mvn-settings.xml clean install -Dquickly -Dno-test-modules -Prelocations - name: Install Quarkus CLI run: | - cat < ./quarkus-dev-cli - #!/bin/bash - java -jar $PWD/quarkus/devtools/cli/target/quarkus-cli-999-SNAPSHOT-runner.jar "\$@" - EOF - chmod +x ./quarkus-dev-cli - ./quarkus-dev-cli version + wget -O cli.zip https://github.com/quarkusio/quarkus/releases/download/3.15.1/quarkus-cli-3.15.1.zip + unzip cli.zip + + chmod +x ./quarkus-cli-3.15.1/bin/quarkus + ./quarkus-cli-3.15.1/bin/quarkus version - name: Build in JVM mode run: | - mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples -Drun-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" -Dquarkus.platform.version="${{ matrix.quarkus-version }}" + mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean install -Pframework,examples -Drun-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-cli-3.15.1/bin/quarkus" -Dquarkus.platform.version="${{ matrix.quarkus-version }}" - name: Detect flaky tests id: flaky-test-detector shell: bash @@ -186,7 +185,7 @@ jobs: needs: validate-format strategy: matrix: - quarkus-version: [ "current" ] + quarkus-version: [ "3.15.1" ] java: [ 17 ] examples: [ 'examples/pingpong,examples/restclient,examples/greetings,examples/blocking-reactive-model,examples/https,examples/grpc,examples/consul,examples/infinispan,examples/microprofile,examples/keycloak,examples/kafka,examples/kafka-registry,examples/kafka-streams', @@ -245,7 +244,7 @@ jobs: strategy: matrix: java: [ 17 ] - quarkus-version: ["999-SNAPSHOT"] + quarkus-version: ["3.15.999-SNAPSHOT"] outputs: has-flaky-tests: ${{steps.flaky-test-detector.outputs.has-flaky-tests}} steps: diff --git a/pom.xml b/pom.xml index 636df574b..41d642733 100644 --- a/pom.xml +++ b/pom.xml @@ -301,7 +301,7 @@ quarkus-ide-config io.quarkus - ${quarkus.platform.version} + 3.15.1