diff --git a/.github/workflows/nightly-no-cache.yaml b/.github/workflows/nightly-no-cache.yaml new file mode 100644 index 0000000000..b3d799f5de --- /dev/null +++ b/.github/workflows/nightly-no-cache.yaml @@ -0,0 +1,110 @@ +name: Nightly build + +on: + schedule: + # strange schedule to reduce the risk of DDOS GitHub infra + - cron: "48 4 * * *" + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up JDK 11 for running checks + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: 11 + + + - name: Build + run: ./gradlew build --stacktrace -x :smoke-tests:test --no-build-cache + + example-distro: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up JDK 11 for running checks + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: 11 + + - name: Build + run: ./gradlew build --stacktrace --no-build-cache + working-directory: examples/distro + + smoke-test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ windows-latest, ubuntu-latest ] + suite: [ "glassfish", "jetty", "liberty", "tomcat", "tomee", "wildfly", "other" ] + fail-fast: false + steps: + - name: Support longpaths + run: git config --system core.longpaths true + if: matrix.os == 'windows-latest' + + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up JDK 11 for running Gradle + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: 11 + + - name: Test + run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.suite }} --no-build-cache + + test: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ 8, 15 ] + fail-fast: false + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - id: setup-test-java + name: Set up JDK ${{ matrix.java }} for running tests + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: ${{ matrix.java }} + + - name: Set up JDK 11 for running Gradle + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: 11 + + - name: Test + run: ./gradlew test -PtestJavaVersion=${{ matrix.java }} --stacktrace -x :smoke-tests:test -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false --no-build-cache + + issue: + name: Open issue on failure + needs: [ build, test, testLatestDep, snapshot ] + runs-on: ubuntu-latest + if: always() + steps: + # run this action to get workflow conclusion + # You can get conclusion by env (env.WORKFLOW_CONCLUSION) + - uses: technote-space/workflow-conclusion-action@v1 + - uses: actions/checkout@v2 + - uses: JasonEtco/create-an-issue@v2 + if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + filename: .github/workflows/nightly-failed.md diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index fe7d3ad9ea..887a2b3bf5 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -31,28 +31,6 @@ jobs: S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }} run: ./gradlew build --stacktrace -x :smoke-tests:test - example-distro: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up JDK 11 for running checks - uses: actions/setup-java@v2 - with: - distribution: adopt - java-version: 11 - - - name: Restore cache - uses: burrunan/gradle-cache-action@v1.10 - with: - job-id: jdk11 - - - name: Build - run: ./gradlew build --stacktrace - working-directory: examples/distro - smoke-test: runs-on: ${{ matrix.os }} strategy: