.github/workflows/test.yml in datadog_api_client-1.5.0 vs .github/workflows/test.yml in datadog_api_client-1.6.0

- old
+ new

@@ -1,7 +1,11 @@ name: Run Tests +env: + GIT_AUTHOR_EMAIL: "packages@datadoghq.com" + GIT_AUTHOR_NAME: "ci.datadog-api-spec" + on: pull_request: branches: - master @@ -10,24 +14,48 @@ cancel-in-progress: true jobs: pre-commit: runs-on: ubuntu-latest - if: false == startsWith(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && !contains(github.event.pull_request.labels.*.name, 'ci/skip/pre-commit') + if: > + github.event.pull_request.draft == false && + !contains(github.event.pull_request.labels.*.name, 'ci/skip') && + !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/') steps: - - uses: actions/checkout@v1 - - uses: actions/setup-python@v1 + - name: Get GitHub App token + id: get_token + uses: tibdex/github-app-token@v1 + with: + app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + token: ${{ steps.get_token.outputs.token }} - name: Install pre-commit run: python -m pip install pre-commit - name: set PY run: echo "PY=$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')" >> $GITHUB_ENV - - uses: actions/cache@v1 + - uses: actions/cache@v2 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} - - name: Run pre-commit - run: pre-commit run --from-ref ${{ github.event.pull_request.base.sha }} --to-ref ${{ github.event.pull_request.head.sha }} --show-diff-on-failure --color=always + - id: pre_commit + name: Run pre-commit + if: github.event.action != 'closed' && github.event.pull_request.merged != true + run: | + pre-commit run --from-ref ${{ github.event.pull_request.base.sha }} --to-ref ${{ github.event.pull_request.head.sha }} --show-diff-on-failure --color=always + - name: Commit changes + if: ${{ failure() }} + run: |- + git add -A + git config user.name "${GIT_AUTHOR_NAME}" + git config user.email "${GIT_AUTHOR_EMAIL}" + git commit -m "pre-commit fixes" + git push origin HEAD:${{ github.event.pull_request.head.ref }} + exit 1 test: strategy: matrix: ruby-version: ["2.5", "2.6", "2.7"] @@ -81,10 +109,10 @@ - examples steps: - name: Get GitHub App token if: github.event_name == 'pull_request' id: get_token - uses: tibdex/github-app-token@v1.3.0 + uses: tibdex/github-app-token@v1 with: app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} repository: DataDog/datadog-api-spec - name: Checkout code