Split the 'prod' workflow up into different isolated workflows

This is required to ensure that cache entries are namespaced correctly
for the integration tests.
This commit is contained in:
Daz DeBoer 2021-09-12 10:52:53 -06:00
parent cae99bf6d9
commit d5cd9d86a1
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D
3 changed files with 76 additions and 49 deletions

37
.github/workflows/failure-cases.yml vendored Normal file
View file

@ -0,0 +1,37 @@
# Run builds under certain failure conditions to allow the output to be manually inspected.
# These build invocations are informational only, and are expected to fail
name: failure-cases
on:
pull_request:
push:
workflow_dispatch:
env:
CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}-
jobs:
wrapper-missing:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Test wrapper missing
uses: ./
continue-on-error: true
with:
build-root-directory: __tests__/samples/no-wrapper
arguments: help
bad-configuration:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Test bad config value
uses: ./
continue-on-error: true
with:
build-root-directory: __tests__/samples/no-wrapper
arguments: help
gradle-cache-enabled: no

View file

@ -0,0 +1,37 @@
# Make sure the action works on a clean machine without building
name: integration-testing-kotlin-dsl
on:
pull_request:
push:
workflow_dispatch:
env:
CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}-
jobs:
# Use kotlin-dsl project to verify caching of generated jars and compiled scripts
seed-build:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Build kotlin-dsl project
uses: ./
with:
build-root-directory: __tests__/samples/kotlin-dsl
arguments: test
# Check that the build can run --offline
verify-build:
needs: seed-build
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Build kotlin-dsl project
uses: ./
with:
build-root-directory: __tests__/samples/kotlin-dsl
arguments: test --offline
gradle-cache-enabled: read-only

View file

@ -1,5 +1,5 @@
# Make sure the action works on a clean machine without building
name: prod
# Verify the functionality works as expected
name: integration-testing
on:
pull_request:
@ -119,50 +119,3 @@ jobs:
build-root-directory: __tests__/samples/basic
arguments: test --configuration-cache
gradle-cache-enabled: read-only
# Use kotlin-dsl project to verify caching of generated jars and compiled scripts
# At this stage there is no automated verification of this caching: eyeball the build scan to verify
seed-kotlin-dsl-build:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Build kotlin-dsl project
uses: ./
with:
build-root-directory: __tests__/samples/kotlin-dsl
arguments: test
verify-kotlin-dsl-build:
needs: seed-kotlin-dsl-build
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Build kotlin-dsl project
uses: ./
with:
build-root-directory: __tests__/samples/kotlin-dsl
arguments: test
gradle-cache-enabled: read-only
# These build invocations are informational only, and are expected to fail
failures:
needs: seed-build
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Test wrapper missing
uses: ./
continue-on-error: true
with:
build-root-directory: __tests__/samples/no-wrapper
arguments: help
- name: Test bad config value
uses: ./
continue-on-error: true
with:
build-root-directory: __tests__/samples/no-wrapper
arguments: help
gradle-cache-enabled: no