diff --git a/.github/workflows/approved_status.yml b/.github/workflows/approved_status.yml index a553c9d1d55..17d631b2b3c 100644 --- a/.github/workflows/approved_status.yml +++ b/.github/workflows/approved_status.yml @@ -22,14 +22,15 @@ jobs: !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/') && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') + permissions: + id-token: write steps: - name: Get GitHub App token id: get_token - uses: actions/create-github-app-token@v1 + uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4 with: - app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} - repositories: datadog-api-spec + scope: DataDog/datadog-api-spec + policy: datadog-api-client-java.approved_status.post-review-status - name: Post PR review status check uses: DataDog/github-actions/post-review-status@v2 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2da60bd811b..e768a66c670 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,13 +19,15 @@ jobs: name: Create release runs-on: ubuntu-latest if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') + permissions: + id-token: write steps: - name: Get GitHub App token id: get_token - uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 #v1.11.1 + uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4 with: - app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + scope: DataDog/datadog-api-client-java + policy: self.github.release.master - name: Checkout ${{ github.event.pull_request.base.ref }} uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml index 860d7816eba..3268e798846 100644 --- a/.github/workflows/reusable-ci.yml +++ b/.github/workflows/reusable-ci.yml @@ -29,10 +29,6 @@ on: type: string default: './check-examples.sh' secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false # Integration test secrets DD_API_KEY: required: false @@ -49,25 +45,16 @@ jobs: with: target-branch: ${{ inputs.target-branch }} enable-commit-changes: false # Don't auto-commit in external CI - secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} javadoc: uses: ./.github/workflows/reusable-javadoc.yml with: target-branch: ${{ inputs.target-branch }} - secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} shading: uses: ./.github/workflows/reusable-shading.yml with: target-branch: ${{ inputs.target-branch }} - secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} test: uses: ./.github/workflows/reusable-java-test.yml @@ -77,8 +64,6 @@ jobs: platforms: ${{ inputs.platforms }} test-script: ${{ inputs.test-script }} secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} DD_API_KEY: ${{ secrets.DD_API_KEY }} examples: @@ -86,9 +71,6 @@ jobs: with: target-branch: ${{ inputs.target-branch }} examples-script: ${{ inputs.examples-script }} - secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} integration: uses: ./.github/workflows/reusable-integration-test.yml @@ -96,10 +78,7 @@ jobs: target-branch: ${{ inputs.target-branch }} has-integration-label: ${{ contains(github.event.pull_request.labels.*.name, 'ci/integrations') }} secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} DD_API_KEY: ${{ secrets.DD_API_KEY }} DD_CLIENT_API_KEY: ${{ secrets.DD_CLIENT_API_KEY }} DD_CLIENT_APP_KEY: ${{ secrets.DD_CLIENT_APP_KEY }} SLEEP_AFTER_REQUEST: ${{ secrets.SLEEP_AFTER_REQUEST }} - diff --git a/.github/workflows/reusable-examples.yml b/.github/workflows/reusable-examples.yml index 368a8062cfd..62515d409f0 100644 --- a/.github/workflows/reusable-examples.yml +++ b/.github/workflows/reusable-examples.yml @@ -18,11 +18,6 @@ on: required: false type: string default: '16' - secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false jobs: examples: diff --git a/.github/workflows/reusable-integration-test.yml b/.github/workflows/reusable-integration-test.yml index 0a7df7e896a..2a5aad1b492 100644 --- a/.github/workflows/reusable-integration-test.yml +++ b/.github/workflows/reusable-integration-test.yml @@ -44,10 +44,6 @@ on: type: boolean default: false secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false DD_API_KEY: required: true DD_CLIENT_API_KEY: @@ -81,15 +77,17 @@ jobs: DD_API_KEY: ${{ secrets.DD_API_KEY }} DD_HOSTNAME: "none" DD_INSIDE_CI: "true" + permissions: + id-token: write + contents: read steps: - name: Get GitHub App token if: github.event_name == 'pull_request' id: get_token - uses: actions/create-github-app-token@v1 + uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4 with: - app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} - repositories: ${{ inputs.target-repo || 'datadog-api-spec' }} + scope: DataDog/datadog-api-spec + policy: datadog-api-client-java.reusable-integration-test.post-status - name: Checkout code uses: actions/checkout@v3 with: diff --git a/.github/workflows/reusable-java-test.yml b/.github/workflows/reusable-java-test.yml index 1dab2dc65b4..29cf7c518d2 100644 --- a/.github/workflows/reusable-java-test.yml +++ b/.github/workflows/reusable-java-test.yml @@ -24,10 +24,6 @@ on: type: string default: './run-tests.sh' secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false DD_API_KEY: required: false diff --git a/.github/workflows/reusable-javadoc.yml b/.github/workflows/reusable-javadoc.yml index 00393d09c50..b852648db19 100644 --- a/.github/workflows/reusable-javadoc.yml +++ b/.github/workflows/reusable-javadoc.yml @@ -13,11 +13,6 @@ on: required: false type: string default: '8' - secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false jobs: javadoc: diff --git a/.github/workflows/reusable-shading.yml b/.github/workflows/reusable-shading.yml index 0fe58354382..7ba31046b2f 100644 --- a/.github/workflows/reusable-shading.yml +++ b/.github/workflows/reusable-shading.yml @@ -13,11 +13,6 @@ on: required: false type: string default: '8' - secrets: - PIPELINE_GITHUB_APP_ID: - required: false - PIPELINE_GITHUB_APP_PRIVATE_KEY: - required: false jobs: shading: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 84ddbea34dd..c9b50e898f2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,8 +60,6 @@ jobs: platforms: '["ubuntu-latest"]' test-script: './run-tests.sh' secrets: - PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} DD_API_KEY: ${{ secrets.DD_API_KEY }} examples: @@ -83,15 +81,16 @@ jobs: - examples - javadoc - shading + permissions: + id-token: write steps: - name: Get GitHub App token if: github.event_name == 'pull_request' id: get_token - uses: actions/create-github-app-token@v1 + uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4 with: - app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} - repositories: datadog-api-spec + scope: DataDog/datadog-api-spec + policy: datadog-api-client-java.test.post-status - name: Post status check uses: DataDog/github-actions/post-status-check@v2 with: