.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