Skip to content

Disable QuarkusCLIVersionIT on Windows when tested with Quarkus snapshot as we don't have snapshot CLI on Windows #3106

Disable QuarkusCLIVersionIT on Windows when tested with Quarkus snapshot as we don't have snapshot CLI on Windows

Disable QuarkusCLIVersionIT on Windows when tested with Quarkus snapshot as we don't have snapshot CLI on Windows #3106

Workflow file for this run

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@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@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 ]
steps:
- uses: actions/checkout@v4
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v3
with:
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 ]
steps:
- uses: actions/checkout@v4
- id: files
uses: tj-actions/changed-files@v39
continue-on-error: true
- id: detect-changes
run: |
MODULES=$(find -name pom.xml | sed -e 's|pom.xml| |' | sed -e 's|./| |' | grep -v " quarkus/")
CHANGED=""
MODULES_ARG=""
for module in $MODULES
do
if [[ "${{ steps.files.outputs.all_changed_and_modified_files }}" =~ ("$module") ]] ; then
CHANGED=$(echo $CHANGED" "$module)
fi
done
# trim leading spaces so that module args don't start with comma
CHANGED="$(echo $CHANGED | xargs)"
MODULES_ARG="${CHANGED// /,}"
echo "MODULES_ARG=$MODULES_ARG" >> $GITHUB_OUTPUT
outputs:
MODULES_ARG: ${{ steps.detect-changes.outputs.MODULES_ARG }}
prepare-jvm-latest-modules-mvn-param:
name: Prepare Maven Params For Linux JVM Build
runs-on: ubuntu-latest
needs: [ detect-test-suite-modules ]
env:
MODULES_ARG: ${{ needs.detect-test-suite-modules.outputs.MODULES_ARG }}
steps:
- id: prepare-modules-mvn-param
run: |
if [[ -n ${MODULES_ARG} ]]; then
echo "Running modules: ${MODULES_ARG}"
echo "MODULES_MAVEN_PARAM=[\" -pl ${MODULES_ARG} -Dall-modules\"]" >> $GITHUB_OUTPUT
else
echo "MODULES_MAVEN_PARAM=[' -P root-modules,spring-modules,http-modules,test-tooling-modules', ' -P security-modules,sql-db-modules,messaging-modules,websockets-modules,monitoring-modules']" >> $GITHUB_OUTPUT
fi
outputs:
MODULES_MAVEN_PARAM: ${{ steps.prepare-modules-mvn-param.outputs.MODULES_MAVEN_PARAM }}
linux-build-jvm-latest:
name: PR - Linux - JVM build - Latest Version
runs-on: ubuntu-latest
timeout-minutes: 240
needs: prepare-jvm-latest-modules-mvn-param
strategy:
matrix:
java: [ 11 ]
module-mvn-args: ${{ fromJSON(needs.prepare-jvm-latest-modules-mvn-param.outputs.MODULES_MAVEN_PARAM) }}
steps:
- uses: actions/checkout@v4
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
# Uses sha for added security since tags can be updated
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 <<EOF > ./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: Build with Maven
run: |
mvn -fae -V -B -s .github/mvn-settings.xml clean verify -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli"${{ matrix.module-mvn-args }} -am
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-latest-linux-jvm${{ matrix.java }}.zip '*-reports/*'
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ci-artifacts
path: artifacts-latest-linux-jvm${{ matrix.java }}.zip
linux-build-native-latest:
name: PR - Linux - Native build - Latest Version
runs-on: ubuntu-latest
needs: detect-test-suite-modules
env:
MODULES_ARG: ${{ needs.detect-test-suite-modules.outputs.MODULES_ARG }}
strategy:
matrix:
java: [ 11 ]
steps:
- uses: actions/checkout@v4
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
# Uses sha for added security since tags can be updated
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 <<EOF > ./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: 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 \
-Dquarkus.native.native-image-xmx=5g \
-Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli" \
-pl $MODULES_ARG clean verify -Dnative -am
fi
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-latest-linux-native${{ matrix.java }}.zip '*-reports/*'
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ci-artifacts
path: artifacts-latest-linux-native${{ matrix.java }}.zip
windows-build-jvm-latest:
name: PR - Windows - JVM build - Latest Version
runs-on: windows-latest
needs: detect-test-suite-modules
env:
MODULES_ARG: ${{ needs.detect-test-suite-modules.outputs.MODULES_ARG }}
strategy:
matrix:
java: [ 11 ]
steps:
- uses: actions/checkout@v4
- 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: |
MODULES_MAVEN_PARAM=""
if [[ -n ${MODULES_ARG} ]]; then
echo "Running modules: ${MODULES_ARG}"
MODULES_MAVEN_PARAM="-pl ${MODULES_ARG}"
fi
mvn -B -fae -s .github/mvn-settings.xml clean verify -Dall-modules $MODULES_MAVEN_PARAM -am
- 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