Skip to content

Bump com.gradle.plugin-publish from 0.19.0 to 1.2.1 in /devtools/gradle #47

Bump com.gradle.plugin-publish from 0.19.0 to 1.2.1 in /devtools/gradle

Bump com.gradle.plugin-publish from 0.19.0 to 1.2.1 in /devtools/gradle #47

name: Quarkus CI
on:
push:
branches-ignore:
- 'dependabot/**'
# paths-ignore in ci-fork-mvn-cache.yml should match
paths-ignore:
- '.gitignore'
- '.dockerignore'
- '*.md'
- '*.adoc'
- '*.txt'
- 'adr/**'
- 'docs/src/main/asciidoc/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/*.yml'
- '.github/*.java'
- '.github/*.conf'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '.gitignore'
- '.dockerignore'
- '*.md'
- '*.adoc'
- '*.txt'
- 'adr/**'
- 'docs/src/main/asciidoc/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/*.yml'
- '.github/*.java'
- '.github/*.conf'
workflow_dispatch:
concurrency:
group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}"
cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'quarkusio/quarkus' }}
env:
# Workaround testsuite locale issue
LANG: en_US.UTF-8
COMMON_MAVEN_ARGS: "-e -B --settings .github/mvn-settings.xml --fail-at-end"
NATIVE_TEST_MAVEN_ARGS: "-Dtest-containers -Dstart-containers -Dquarkus.native.native-image-xmx=5g -Dnative -Dnative.surefire.skip -Dformat.skip -Dno-descriptor-tests install -DskipDocs"
JVM_TEST_MAVEN_ARGS: "-Dtest-containers -Dstart-containers -Dformat.skip -DskipDocs -Dquarkus.test.hang-detection-timeout=60"
DB_USER: hibernate_orm_test
DB_PASSWORD: hibernate_orm_test
DB_NAME: hibernate_orm_test
jobs:
# This is a hack to work around a GitHub API limitation:
# when the PR is coming from another fork, the pull_requests field of the
# workflow_run payload is empty.
# For more details, see
# https://github.community/t/pull-request-attribute-empty-in-workflow-run-event-object-for-pr-from-forked-repo/154682
attach-pr-number:
runs-on: ubuntu-latest
name: Attach pull request number
if: github.event_name == 'pull_request'
steps:
- name: Create file
shell: bash
run: |
echo -n ${{ github.event.number }} > pull-request-number
- name: Upload pull request number
uses: actions/upload-artifact@v2
with:
name: pull-request-number-${{ github.event.number }}
path: pull-request-number
ci-sanity-check:
name: "CI Sanity Check"
runs-on: ubuntu-latest
# Skip main in forks
if: "github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main')"
steps:
- name: Build
run: sleep 30
build-jdk11:
name: "Initial JDK 11 Build"
runs-on: ubuntu-latest
# Skip main in forks
# Skip draft PRs and those with WIP in the subject, rerun as soon as its removed
if: "(github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main')) && ( \
github.event_name != 'pull_request' || ( \
github.event.pull_request.draft == false && \
github.event.pull_request.state != 'closed' && \
contains(github.event.pull_request.title, 'wip ') == false && \
contains(github.event.pull_request.title, '[wip]') == false && \
(
github.event.action != 'edited' || \
contains(github.event.changes.title.from, 'wip ') || \
contains(github.event.changes.title.from, '[wip]') \
) \
) \
)"
outputs:
gib_args: ${{ steps.get-gib-args.outputs.gib_args }}
gib_impacted: ${{ steps.get-gib-impacted.outputs.impacted_modules }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Add quarkusio remote
shell: bash
run: git remote add quarkusio https://github.com/quarkusio/quarkus.git
- uses: n1hility/cancel-previous-runs@v2
# quarkus-bot will handle this much more efficiently, but it's not active in/for forks
if: github.repository != 'quarkusio/quarkus'
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 11
- name: Get Date
id: get-date
run: |
echo "::set-output name=date::$(/bin/date -u "+%Y-%m")"
shell: bash
- name: Cache Maven Repository
id: cache-maven
uses: actions/cache@v2
with:
path: ~/.m2/repository
# refresh cache every month to avoid unlimited growth
key: q2maven-${{ steps.get-date.outputs.date }}
- name: Build
run: |
./mvnw -T1C $COMMON_MAVEN_ARGS -DskipTests -DskipITs -Dinvoker.skip -Dno-format -Dtcks clean install
- name: Verify extension dependencies
shell: bash
run: ./update-extension-dependencies.sh $COMMON_MAVEN_ARGS
- name: Get GIB arguments
id: get-gib-args
env:
PULL_REQUEST_BASE: ${{ github.event.pull_request.base.ref }}
run: |
# See also: https://github.com/gitflow-incremental-builder/gitflow-incremental-builder#configuration (GIB)
# Common GIB_ARGS for all CI cases (hint: see also root pom.xml):
# - disableSelectedProjectsHandling: required to detect changes in jobs that use -pl
# - untracked: to ignore files created by jobs (and uncommitted to be consistent)
GIB_ARGS="-Dincremental -Dgib.disableSelectedProjectsHandling -Dgib.untracked=false -Dgib.uncommitted=false"
if [ -n "$PULL_REQUEST_BASE" ]
then
# The PR defines a clear merge target so just use that branch for reference, *unless*:
# - the current branch is a backport branch targeting some released branch like 1.10 (merge target is not main)
GIB_ARGS+=" -Dgib.referenceBranch=origin/$PULL_REQUEST_BASE -Dgib.disableIfReferenceBranchMatches='origin/\d+\.\d+'"
else
# No PR means the merge target is uncertain so fetch & use main of quarkusio/quarkus, *unless*:
# - the current branch is main or some released branch like 1.10
# - the current branch is a backport branch which is going to target some released branch like 1.10 (merge target is not main)
GIB_ARGS+=" -Dgib.referenceBranch=refs/remotes/quarkusio/main -Dgib.fetchReferenceBranch -Dgib.disableIfBranchMatches='main|\d+\.\d+|.*backport.*'"
fi
echo "GIB_ARGS: $GIB_ARGS"
echo "::set-output name=gib_args::${GIB_ARGS}"
- name: Get GIB impacted modules
id: get-gib-impacted
# mvnw just for creating gib-impacted.log ("validate" should not waste much time if not incremental at all, e.g. on main)
run: |
./mvnw -q -T1C $COMMON_MAVEN_ARGS -Dtcks -Dquickly-ci ${{ steps.get-gib-args.outputs.gib_args }} -Dgib.logImpactedTo=gib-impacted.log validate
[ -f gib-impacted.log ] && GIB_IMPACTED=$(cat gib-impacted.log) || GIB_IMPACTED=''
echo "GIB_IMPACTED: ${GIB_IMPACTED}"
echo "::set-output name=impacted_modules::${GIB_IMPACTED//$'\n'/'%0A'}"
- 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@v1
with:
name: maven-repo
path: maven-repo.tgz
- name: Delete Local Artifacts From Cache
shell: bash
run: rm -r ~/.m2/repository/io/quarkus
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-Initial JDK 11 Build"
path: |
target/build-report.json
LICENSE.txt
retention-days: 2
calculate-test-jobs:
name: Calculate Test Jobs
runs-on: ubuntu-latest
# Skip main in forks
if: "github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main')"
needs: build-jdk11
env:
GIB_IMPACTED_MODULES: ${{ needs.build-jdk11.outputs.gib_impacted }}
outputs:
native_matrix: ${{ steps.calc-native-matrix.outputs.matrix }}
run_jvm: ${{ steps.calc-run-flags.outputs.run_jvm }}
run_devtools: ${{ steps.calc-run-flags.outputs.run_devtools }}
run_gradle: ${{ steps.calc-run-flags.outputs.run_gradle }}
run_maven: ${{ steps.calc-run-flags.outputs.run_maven }}
run_tcks: ${{ steps.calc-run-flags.outputs.run_tcks }}
steps:
- uses: actions/checkout@v2
- name: Calculate matrix from native-tests.json
id: calc-native-matrix
run: |
echo "GIB_IMPACTED_MODULES: ${GIB_IMPACTED_MODULES}"
json=$(.github/filter-native-tests-json.sh "${GIB_IMPACTED_MODULES}" | tr -d '\n')
echo "${json}"
echo "::set-output name=matrix::${json}"
- name: Calculate run flags
id: calc-run-flags
run: |
run_jvm=true; run_devtools=true; run_gradle=true; run_maven=true; run_tcks=true
if [ -n "${GIB_IMPACTED_MODULES}" ]
then
# Important: keep -pl ... in actual jobs in sync with the following grep commands!
if ! echo -n "${GIB_IMPACTED_MODULES}" | grep -qPv 'integration-tests/(devtools|gradle|maven)|tcks/.*'; then run_jvm=false; fi
if ! echo -n "${GIB_IMPACTED_MODULES}" | grep -q 'integration-tests/devtools'; then run_devtools=false; fi
if ! echo -n "${GIB_IMPACTED_MODULES}" | grep -q 'integration-tests/gradle'; then run_gradle=false; fi
if ! echo -n "${GIB_IMPACTED_MODULES}" | grep -q 'integration-tests/maven'; then run_maven=false; fi
if ! echo -n "${GIB_IMPACTED_MODULES}" | grep -q 'tcks/.*'; then run_tcks=false; fi
fi
echo "run_jvm=${run_jvm}, run_devtools=${run_devtools}, run_gradle=${run_gradle}, run_maven=${run_maven}, run_tcks=${run_tcks}"
echo "::set-output name=run_jvm::${run_jvm}"
echo "::set-output name=run_devtools::${run_devtools}"
echo "::set-output name=run_gradle::${run_gradle}"
echo "::set-output name=run_maven::${run_maven}"
echo "::set-output name=run_tcks::${run_tcks}"
jvm-tests:
name: JVM Tests - JDK ${{matrix.java.name}}
runs-on: ${{ matrix.java.os-name }}
needs: [build-jdk11, calculate-test-jobs]
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.run_jvm == 'true' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
timeout-minutes: 300
env:
MAVEN_OPTS: ${{ matrix.java.maven_opts }}
strategy:
fail-fast: false
matrix:
java:
- {
name: "11",
java-version: 11,
maven_args: "$JVM_TEST_MAVEN_ARGS",
maven_opts: "-Xmx2g -XX:MaxMetaspaceSize=1g",
os-name: "ubuntu-latest"
}
- {
name: "17",
java-version: 17,
maven_args: "$JVM_TEST_MAVEN_ARGS",
maven_opts: "-Xmx2g -XX:MaxMetaspaceSize=1g",
os-name: "ubuntu-latest"
}
- {
name: "11 Windows",
java-version: 11,
maven_args: "-DskipDocs -Dformat.skip",
maven_opts: "-Xmx2g -XX:MaxMetaspaceSize=1g -Xlog:gc*=debug:file=windows-java-11.txt",
os-name: "windows-latest"
}
steps:
- name: Stop mysql
if: "!startsWith(matrix.java.os-name, 'windows')"
shell: bash
run: |
ss -ln
sudo service mysql stop || true
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Add quarkusio remote
shell: bash
run: git remote add quarkusio https://github.com/quarkusio/quarkus.git
- name: apt clean
if: "!startsWith(matrix.java.os-name, 'windows')"
shell: bash
run: sudo apt-get clean
- name: Reclaim Disk Space
if: "!startsWith(matrix.java.os-name, 'windows')"
run: .github/ci-prerequisites.sh
- name: Set up JDK ${{ matrix.java.java-version }}
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: ${{ matrix.java.java-version }}
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Build
shell: bash
# Despite the pre-calculated run_jvm flag, GIB has to be re-run here to figure out the exact submodules to build.
run: ./mvnw $COMMON_MAVEN_ARGS install -Dsurefire.timeout=1200 -pl !integration-tests/gradle -pl !integration-tests/maven -pl !integration-tests/devtools -pl !docs ${{ matrix.java.maven_args }} ${{ needs.build-jdk11.outputs.gib_args }}
- name: Clean Gradle temp directory
if: always()
shell: bash
run: devtools/gradle/gradlew --stop && rm -rf devtools/gradle/gradle-extension-plugin/build/tmp
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d -o -name '*.log' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
if: failure()
with:
name: test-reports-jvm${{matrix.java.name}}
path: 'test-reports.tgz'
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-JVM Tests - JDK ${{matrix.java.name}}"
path: |
**/target/*-reports/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2
- name: Upload gc.log
uses: actions/upload-artifact@v2
with:
name: "GC log - JDK ${{matrix.java.name}}"
path: |
**/windows-java-11.txt
!**/build/tmp/**
maven-tests:
name: Maven Tests - JDK ${{matrix.java.name}}
runs-on: ${{ matrix.java.os-name }}
needs: calculate-test-jobs
env:
MAVEN_OPTS: -Xmx2g -XX:MaxMetaspaceSize=1g
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.run_maven == 'true' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
java:
- {
name: "11",
java-version: 11,
os-name: "ubuntu-latest"
}
- {
name: "11 Windows",
java-version: 11,
os-name: "windows-latest"
}
steps:
- uses: actions/checkout@v2
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Set up JDK ${{ matrix.java.java-version }}
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: ${{ matrix.java.java-version }}
- name: Build
# Important: keep -pl ... in sync with "Calculate run flags"!
run: ./mvnw $COMMON_MAVEN_ARGS $JVM_TEST_MAVEN_ARGS install -pl 'integration-tests/maven'
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d -o -name '*.log' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
if: failure()
with:
name: test-reports-maven-java${{matrix.java.name}}
path: 'test-reports.tgz'
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-Maven Tests - JDK ${{matrix.java.name}}"
path: |
**/target/*-reports/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2
gradle-tests:
name: Gradle Tests - JDK ${{matrix.java.name}}
runs-on: ${{matrix.java.os-name}}
needs: calculate-test-jobs
env:
# leave more space for the actual gradle execution (which is just wrapped by maven)
MAVEN_OPTS: -Xmx1g
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.run_gradle == 'true' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
timeout-minutes: 80
strategy:
fail-fast: false
matrix:
java:
- {
name: "11",
java-version: 11,
os-name: "ubuntu-latest"
}
- {
name: "11 Windows",
java-version: 11,
os-name: "windows-latest"
}
steps:
- uses: actions/checkout@v2
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Set up JDK ${{ matrix.java.java-version }}
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: ${{ matrix.java.java-version }}
- name: Verify dependencies
# runs on Windows as well but would require newline conversion, not worth it
if: "!startsWith(matrix.java.os-name, 'windows')"
shell: bash
run: ./integration-tests/gradle/update-dependencies.sh $COMMON_MAVEN_ARGS
- name: Build
shell: bash
# Important: keep -pl ... in sync with "Calculate run flags"!
run: ./mvnw $COMMON_MAVEN_ARGS $JVM_TEST_MAVEN_ARGS install -pl integration-tests/gradle
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-Gradle Tests - JDK ${{matrix.java.name}}"
path: |
**/build/test-results/test/TEST-*.xml
**/target/*-reports/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2
devtools-tests:
name: Devtools Tests - JDK ${{matrix.java.name}}
runs-on: ${{matrix.java.os-name}}
needs: calculate-test-jobs
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.run_devtools == 'true' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
java:
- {
name: "11",
java-version: 11,
os-name: "ubuntu-latest"
}
- {
name: "17",
java-version: 17,
os-name: "ubuntu-latest"
}
- {
name: "11 Windows",
java-version: 11,
os-name: "windows-latest"
}
steps:
- uses: actions/checkout@v2
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Set up JDK ${{ matrix.java.java-version }}
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: ${{ matrix.java.java-version }}
- name: Build
# Important: keep -pl ... in sync with "Calculate run flags"!
run: ./mvnw $COMMON_MAVEN_ARGS $JVM_TEST_MAVEN_ARGS install -pl 'integration-tests/devtools'
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d -o -name '*.log' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
if: failure()
with:
name: test-reports-devtools-java${{matrix.java.name}}
path: 'test-reports.tgz'
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-Devtools Tests - JDK ${{matrix.java.name}}"
path: |
**/target/*-reports/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2
tcks-test:
name: MicroProfile TCKs Tests
needs: [build-jdk11, calculate-test-jobs]
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.run_tcks == 'true' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
runs-on: ubuntu-latest
timeout-minutes: 150
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Add quarkusio remote
shell: bash
run: git remote add quarkusio https://github.com/quarkusio/quarkus.git
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 11
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Verify
# Important: keep -pl ... in sync with "Calculate run flags"!
# Despite the pre-calculated run_tcks flag, GIB has to be re-run here to figure out the exact tcks submodules to build.
run: ./mvnw $COMMON_MAVEN_ARGS -Dtcks -pl tcks -amd install ${{ needs.build-jdk11.outputs.gib_args }}
- name: Verify resteasy-reative dependencies
# note: ideally, this would be run _before_ mvnw but that would required building tcks/resteasy-reactive in two steps
shell: bash
run: ./tcks/resteasy-reactive/update-dependencies.sh $COMMON_MAVEN_ARGS
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d -o -name '*.log' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
if: failure()
with:
name: test-reports-tcks
path: 'test-reports.tgz'
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-MicroProfile TCKs Tests"
path: |
**/target/*-reports/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2
native-tests:
name: Native Tests - ${{matrix.category}}
needs: calculate-test-jobs
runs-on: ${{matrix.os-name}}
env:
# leave more space for the actual native compilation and execution
MAVEN_OPTS: -Xmx1g
# Skip main in forks
if: "needs.calculate-test-jobs.outputs.native_matrix != '{}' && (github.repository == 'quarkusio/quarkus' || !endsWith(github.ref, '/main'))"
# Ignore the following YAML Schema error
timeout-minutes: ${{matrix.timeout}}
strategy:
max-parallel: 8
fail-fast: false
matrix: ${{ fromJson(needs.calculate-test-jobs.outputs.native_matrix) }}
steps:
- uses: actions/checkout@v2
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 11
- name: Install cl.exe
if: startsWith(matrix.os-name, 'windows')
uses: ilammy/msvc-dev-cmd@v1
- uses: microsoft/setup-msbuild@v1
if: startsWith(matrix.os-name, 'windows')
- name: Setup GraalVM
id: setup-graalvm
uses: DeLaGuardo/setup-graalvm@master
if: startsWith(matrix.os-name, 'windows')
with:
graalvm-version: '21.3.0.java11'
- name: Install native-image component
if: startsWith(matrix.os-name, 'windows')
run: |
gu.cmd install native-image
# We do this so we can get better analytics for the downloaded version of the build images
- name: Update Docker Client User Agent
shell: bash
run: |
cat <<< $(jq '.HttpHeaders += {"User-Agent": "Quarkus-CI-Docker-Client"}' ~/.docker/config.json) > ~/.docker/config.json
- name: Download Maven Repo
uses: actions/download-artifact@v1
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Build
shell: bash
env:
TEST_MODULES: ${{matrix.test-modules}}
CONTAINER_BUILD: ${{startsWith(matrix.os-name, 'windows') && 'false' || 'true'}}
run: ./mvnw $COMMON_MAVEN_ARGS -f integration-tests -pl "$TEST_MODULES" $NATIVE_TEST_MAVEN_ARGS -Dquarkus.native.container-build=$CONTAINER_BUILD
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -type d -name '*-reports' -o -wholename '*/build/reports/tests/functionalTest' -o -name '*.log' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
if: failure()
with:
name: test-reports-native-${{matrix.category}}
path: 'test-reports.tgz'
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v2
if: ${{ failure() || cancelled() }}
with:
name: "build-reports-Native Tests - ${{matrix.category}}"
path: |
**/target/*-reports/TEST-*.xml
**/build/test-results/test/TEST-*.xml
target/build-report.json
LICENSE.txt
retention-days: 2