Skip to content

Commit

Permalink
Complete migration of 'dependency-submission' to Typescript (#124)
Browse files Browse the repository at this point in the history
Finishes the migration of `dependency-submission` to a Typescript action
(fixes #116)

- Use consistent input params to ensure behaviour is consistent with
'setup-gradle'
- Submit generated graph immediately instead of waiting until end of job
(fixes #123)
- Can now add a `dependency-submission` step after a `setup-gradle` step
in the same job (fixes #36)
  • Loading branch information
bigdaz committed Apr 7, 2024
2 parents 19d422a + 8691214 commit dbdb67a
Show file tree
Hide file tree
Showing 26 changed files with 29,365 additions and 75,525 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/ci-dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,21 @@ name: CI-dependency-review
on: [pull_request]

permissions:
contents: read
contents: write

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: Dependencies for groovy-dsl
uses: ./dependency-submission
with:
build-root-directory: .github/workflow-samples/groovy-dsl
- name: Dependencies for kotlin-dsl
uses: ./dependency-submission
with:
build-root-directory: .github/workflow-samples/kotlin-dsl
- name: 'Dependency Review'
uses: actions/dependency-review-action@v4
10 changes: 5 additions & 5 deletions .github/workflows/ci-full-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,18 @@ jobs:
with:
cache-key-prefix: ${{github.run_number}}-

dependency-graph-failures:
uses: ./.github/workflows/integ-test-dependency-graph-failures.yml
with:
cache-key-prefix: ${{github.run_number}}-

dependency-submission:
uses: ./.github/workflows/integ-test-dependency-submission.yml
permissions:
contents: write
with:
cache-key-prefix: ${{github.run_number}}-

dependency-submission-failures:
uses: ./.github/workflows/integ-test-dependency-submission-failures.yml
with:
cache-key-prefix: ${{github.run_number}}-

execution-with-caching:
uses: ./.github/workflows/integ-test-execution-with-caching.yml
with:
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/ci-quick-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,18 @@ jobs:
runner-os: '["ubuntu-latest"]'
download-dist: true

dependency-graph-failures:
dependency-submission:
needs: build-distribution
uses: ./.github/workflows/integ-test-dependency-graph-failures.yml
uses: ./.github/workflows/integ-test-dependency-submission.yml
permissions:
contents: write
with:
runner-os: '["ubuntu-latest"]'
download-dist: true

dependency-submission:
dependency-submission-failures:
needs: build-distribution
uses: ./.github/workflows/integ-test-dependency-submission.yml
uses: ./.github/workflows/integ-test-dependency-submission-failures.yml
permissions:
contents: write
with:
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/demo-job-summary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ jobs:
working-directory: .github/workflow-samples/groovy-dsl
continue-on-error: true
run: ./gradlew not-a-real-task
- name: Dependency submission
uses: ./dependency-submission
with:
build-root-directory: .github/workflow-samples/groovy-dsl
dependency-graph: generate-and-upload

successful-builds-with-no-summary:
runs-on: ubuntu-latest
Expand Down
133 changes: 0 additions & 133 deletions .github/workflows/integ-test-dependency-graph-failures.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/integ-test-dependency-submission-failures.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Test dependency graph

on:
workflow_call:
inputs:
cache-key-prefix:
type: string
runner-os:
type: string
default: '["ubuntu-latest"]'
download-dist:
type: boolean
default: false

env:
DOWNLOAD_DIST: ${{ inputs.download-dist }}
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: dependency-graph-${{ inputs.cache-key-prefix }}

jobs:
failing-build:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test

- name: Submit with failing build
id: gradle-build
uses: ./dependency-submission
with:
build-root-directory: .github/workflow-samples/groovy-dsl
additional-arguments: fail
continue-on-error: true
- name: Check step failed
if: steps.gradle-build.outcome != 'failure'
run: |
echo "Expected dependency submission step to fail"
exit 1
- name: Check no dependency graph is generated
shell: bash
run: |
if [ ! -z "$(ls -A dependency-graph-reports)" ]; then
echo "Expected no dependency graph files to be generated"
ls -l dependency-graph-reports
exit 1
fi
unsupported-gradle-version:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test

- name: Submit with unsupported Gradle version
id: gradle-build
uses: ./dependency-submission
with:
gradle-version: 7.0.1
build-root-directory: .github/workflow-samples/groovy-dsl
continue-on-error: true
- name: Check step failed
if: steps.gradle-build.outcome != 'failure'
run: |
echo "Expected dependency submission step to fail"
exit 1
- name: Check no dependency graph is generated
shell: bash
run: |
if [ ! -z "$(ls -A dependency-graph-reports)" ]; then
echo "Expected no dependency graph files to be generated"
ls -l dependency-graph-reports
exit 1
fi
insufficient-permissions:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test

- name: Submit with insufficient permissions
id: gradle-build
uses: ./dependency-submission
with:
build-root-directory: .github/workflow-samples/groovy-dsl
continue-on-error: true
- name: Check step failed
if: steps.gradle-build.outcome != 'failure'
run: |
echo "Expected dependency submission step to fail"
exit 1

0 comments on commit dbdb67a

Please sign in to comment.