mirror of
				https://hub.gitmirror.com/https://github.com/gradle/actions.git
				synced 2025-11-04 20:10:00 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			232 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			8.7 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:
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
 | 
						|
        os: ${{fromJSON(inputs.runner-os)}}
 | 
						|
        plugin-version: ['3.16.2', '4.2.2']
 | 
						|
        include:
 | 
						|
          - java-version: 17
 | 
						|
          - gradle: '8.14.3'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '7.6.2'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '6.9.4'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '5.6.4'
 | 
						|
            java-version: 11
 | 
						|
          - plugin-version: '3.16.2'
 | 
						|
            accessKeyEnv: GRADLE_ENTERPRISE_ACCESS_KEY
 | 
						|
          - plugin-version: '4.2.2'
 | 
						|
            accessKeyEnv: DEVELOCITY_ACCESS_KEY
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    env:
 | 
						|
      DEVELOCITY_INJECTION_ENABLED: true
 | 
						|
      DEVELOCITY_INJECTION_URL: https://ge.solutions-team.gradle.com
 | 
						|
      DEVELOCITY_INJECTION_DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
 | 
						|
      DEVELOCITY_INJECTION_CCUD_PLUGIN_VERSION: '2.2.1'
 | 
						|
      ${{matrix.accessKeyEnv}}: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
 | 
						|
 | 
						|
    steps:
 | 
						|
    - name: Checkout sources
 | 
						|
      uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
    - name: Initialize integ-test
 | 
						|
      uses: ./.github/actions/init-integ-test
 | 
						|
      with:
 | 
						|
        java-version: ${{ matrix.java-version }}
 | 
						|
    - 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@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
 | 
						|
      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_INJECTION_URL: 'https://ge.solutions-team.gradle.com'
 | 
						|
      DEVELOCITY_INJECTION_DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
 | 
						|
      DEVELOCITY_INJECTION_CCUD_PLUGIN_VERSION: '2.2.1'
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
 | 
						|
        os: ${{fromJSON(inputs.runner-os)}}
 | 
						|
        plugin-version: ['3.16.2', '4.2.2']
 | 
						|
        include:
 | 
						|
          - java-version: 17
 | 
						|
          - gradle: '8.14.3'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '7.6.2'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '6.9.4'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '5.6.4'
 | 
						|
            java-version: 11
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    steps:
 | 
						|
      - name: Checkout sources
 | 
						|
        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
      - name: Initialize integ-test
 | 
						|
        uses: ./.github/actions/init-integ-test
 | 
						|
        with:
 | 
						|
          java-version: ${{ matrix.java-version }}
 | 
						|
      - 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@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            core.setFailed('No Build Scan detected')
 | 
						|
 | 
						|
  inject-develocity-short-lived-token-failed:
 | 
						|
    env:
 | 
						|
      DEVELOCITY_INJECTION_ENABLED: true
 | 
						|
      DEVELOCITY_INJECTION_URL: 'https://localhost:3333/'
 | 
						|
      DEVELOCITY_INJECTION_DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
 | 
						|
      DEVELOCITY_INJECTION_CCUD_PLUGIN_VERSION: '2.1'
 | 
						|
      # 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', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
 | 
						|
        os: ${{fromJSON(inputs.runner-os)}}
 | 
						|
        plugin-version: [ '3.16.2', '4.2.2' ]
 | 
						|
        include:
 | 
						|
          - java-version: 17
 | 
						|
          - gradle: '8.14.3'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '7.6.2'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '6.9.4'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '5.6.4'
 | 
						|
            java-version: 11
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout sources
 | 
						|
        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
      - name: Initialize integ-test
 | 
						|
        uses: ./.github/actions/init-integ-test
 | 
						|
        with:
 | 
						|
          java-version: ${{ matrix.java-version }}
 | 
						|
      - name: Setup Gradle
 | 
						|
        id: setup-gradle
 | 
						|
        uses: ./setup-gradle
 | 
						|
        with:
 | 
						|
          gradle-version: ${{ matrix.gradle }}
 | 
						|
          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', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
 | 
						|
        os: ${{fromJSON(inputs.runner-os)}}
 | 
						|
        plugin-version: [ '3.16.2', '4.2.2' ]
 | 
						|
        include:
 | 
						|
          - java-version: 17
 | 
						|
          - gradle: '8.14.3'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '7.6.2'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '6.9.4'
 | 
						|
            java-version: 11
 | 
						|
          - gradle: '5.6.4'
 | 
						|
            java-version: 11
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    steps:
 | 
						|
      - name: Checkout sources
 | 
						|
        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
      - name: Initialize integ-test
 | 
						|
        uses: ./.github/actions/init-integ-test
 | 
						|
        with:
 | 
						|
          java-version: ${{ matrix.java-version }}
 | 
						|
      - 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@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            core.setFailed('No Build Scan detected')
 |