mirror of
https://github.com/gradle/actions
synced 2024-12-04 15:22:20 +00:00
185 lines
7.1 KiB
YAML
185 lines
7.1 KiB
YAML
name: Test develocity injection
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cache-key-prefix:
|
|
type: string
|
|
default: '0'
|
|
runner-os:
|
|
type: string
|
|
default: '["ubuntu-latest"]'
|
|
skip-dist:
|
|
type: boolean
|
|
default: false
|
|
secrets:
|
|
DEVELOCITY_ACCESS_KEY:
|
|
required: true
|
|
|
|
env:
|
|
SKIP_DIST: ${{ inputs.skip-dist }}
|
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: inject-develocity-${{ inputs.cache-key-prefix }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
inject-develocity:
|
|
env:
|
|
DEVELOCITY_INJECTION_ENABLED: true
|
|
DEVELOCITY_URL: https://ge.solutions-team.gradle.com
|
|
DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
|
|
DEVELOCITY_CCUD_PLUGIN_VERSION: '2.0'
|
|
${{matrix.accessKeyEnv}}: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gradle: [current, 7.6.2, 6.9.4, 5.6.4]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
plugin-version: [3.16.2, 3.18.2]
|
|
include:
|
|
- plugin-version: 3.16.2
|
|
accessKeyEnv: GRADLE_ENTERPRISE_ACCESS_KEY
|
|
- plugin-version: 3.18.2
|
|
accessKeyEnv: DEVELOCITY_ACCESS_KEY
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Gradle
|
|
id: setup-gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
gradle-version: ${{ matrix.gradle }}
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-ge
|
|
run: gradle help
|
|
- name: Check Build Scan url
|
|
if: ${{ !steps.gradle.outputs.build-scan-url }}
|
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
|
with:
|
|
script: |
|
|
core.setFailed('No Build Scan detected')
|
|
- name: Check short lived token (DEVELOCITY_ACCESS_KEY)
|
|
run: "[ ${#DEVELOCITY_ACCESS_KEY} -gt 500 ] || (echo 'DEVELOCITY_ACCESS_KEY does not look like a short lived token'; exit 1)"
|
|
- name: Check short lived token (GRADLE_ENTERPRISE_ACCESS_KEY)
|
|
run: "[ ${#GRADLE_ENTERPRISE_ACCESS_KEY} -gt 500 ] || (echo 'GRADLE_ENTERPRISE_ACCESS_KEY does not look like a short lived token'; exit 1)"
|
|
|
|
inject-develocity-with-access-key:
|
|
env:
|
|
DEVELOCITY_INJECTION_ENABLED: true
|
|
DEVELOCITY_URL: 'https://ge.solutions-team.gradle.com'
|
|
DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
|
|
DEVELOCITY_CCUD_PLUGIN_VERSION: '2.0'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gradle: [current, 7.6.2, 6.9.4, 5.6.4]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
plugin-version: [3.16.2, 3.18.2]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
- name: Setup Gradle
|
|
id: setup-gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
gradle-version: ${{ matrix.gradle }}
|
|
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
develocity-token-expiry: 1
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-ge
|
|
run: gradle help
|
|
- name: Check short lived token (DEVELOCITY_ACCESS_KEY)
|
|
run: "[ ${#DEVELOCITY_ACCESS_KEY} -gt 500 ] || (echo 'DEVELOCITY_ACCESS_KEY does not look like a short lived token'; exit 1)"
|
|
- name: Check short lived token (GRADLE_ENTERPRISE_ACCESS_KEY)
|
|
run: "[ ${#GRADLE_ENTERPRISE_ACCESS_KEY} -gt 500 ] || (echo 'GRADLE_ENTERPRISE_ACCESS_KEY does not look like a short lived token'; exit 1)"
|
|
- name: Check Build Scan url
|
|
if: ${{ !steps.gradle.outputs.build-scan-url }}
|
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
|
with:
|
|
script: |
|
|
core.setFailed('No Build Scan detected')
|
|
|
|
inject-develocity-short-lived-token-failed:
|
|
env:
|
|
DEVELOCITY_INJECTION_ENABLED: true
|
|
DEVELOCITY_URL: 'https://localhost:3333/'
|
|
DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
|
|
DEVELOCITY_CCUD_PLUGIN_VERSION: '2.0'
|
|
# Access key also set as an env var, we want to check it does not leak
|
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gradle: [ current, 7.6.2, 6.9.4, 5.6.4 ]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
plugin-version: [ 3.16.2, 3.18.2 ]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Gradle
|
|
id: setup-gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-ge
|
|
run: gradle help
|
|
- name: Check access key is not blank (DEVELOCITY_ACCESS_KEY)
|
|
run: "[ \"${DEVELOCITY_ACCESS_KEY}\" != \"\" ] || (echo 'using DEVELOCITY_ACCESS_KEY!'; exit 1)"
|
|
- name: Check access key is not blank (GRADLE_ENTERPRISE_ACCESS_KEY)
|
|
run: "[ \"${GRADLE_ENTERPRISE_ACCESS_KEY}\" != \"\" ] || (echo 'GRADLE_ENTERPRISE_ACCESS_KEY is still supported in v3!'; exit 1)"
|
|
|
|
inject-develocity-with-access-key-from-input-actions:
|
|
env:
|
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gradle: [ current, 7.6.2, 6.9.4, 5.6.4 ]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
plugin-version: [ 3.16.2, 3.18.2 ]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
- name: Setup Gradle
|
|
id: setup-gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
gradle-version: ${{ matrix.gradle }}
|
|
develocity-injection-enabled: true
|
|
develocity-url: 'https://ge.solutions-team.gradle.com'
|
|
develocity-plugin-version: ${{ matrix.plugin-version }}
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-ge
|
|
run: gradle help
|
|
- name: Check Build Scan url
|
|
if: ${{ !steps.gradle.outputs.build-scan-url }}
|
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
|
with:
|
|
script: |
|
|
core.setFailed('No Build Scan detected')
|