From 5d8a36efb0cbeabd9efdc98ac7b210ede044bfc0 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Tue, 14 Mar 2023 16:35:38 +0100 Subject: [PATCH] Separate pull request workflow from build publish & deploy --- .github/workflows/codeql-analysis.yaml | 11 --------- .github/workflows/publish.yaml | 2 +- .github/workflows/pull_request.yaml | 33 ++++++++++++++++++++++++++ .github/workflows/test.yaml | 23 ------------------ 4 files changed, 34 insertions(+), 35 deletions(-) create mode 100644 .github/workflows/pull_request.yaml diff --git a/.github/workflows/codeql-analysis.yaml b/.github/workflows/codeql-analysis.yaml index f76b06f..1af5458 100644 --- a/.github/workflows/codeql-analysis.yaml +++ b/.github/workflows/codeql-analysis.yaml @@ -1,14 +1,3 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# name: "CodeQL" on: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 8671a97..f311cde 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -1,4 +1,4 @@ -name: Build, publish & deploy +name: Test, build, publish & deploy on: workflow_dispatch: diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml new file mode 100644 index 0000000..6027084 --- /dev/null +++ b/.github/workflows/pull_request.yaml @@ -0,0 +1,33 @@ +name: Test & auto merge + +on: + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + tests: + uses: ./.github/workflows/test.yaml + auto_merge: + name: Auto merge + runs-on: ubuntu-latest + needs: tests + permissions: + pull-requests: write + contents: write + env: + GH_TOKEN: ${{ github.token }} + if: >- + github.event.pull_request + && github.event.pull_request.merged == false + && ( + github.event.pull_request.user.login == 'crocmagnon-pr[bot]' + || github.event.pull_request.user.login == 'pre-commit-ci[bot]' + ) + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Auto merge + run: gh pr merge ${{github.event.pull_request.number}} --delete-branch --rebase diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 4e41a4a..9a72b32 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -3,8 +3,6 @@ name: Test on: workflow_dispatch: workflow_call: - pull_request: - branches: [ "master" ] permissions: contents: read @@ -35,24 +33,3 @@ jobs: - name: Test run: pytest --cov=. --cov-branch --cov-report term-missing:skip-covered working-directory: ./src/ - auto_merge: - name: Auto merge - runs-on: ubuntu-latest - needs: tests - permissions: - pull-requests: write - contents: write - env: - GH_TOKEN: ${{ github.token }} - if: >- - github.event.pull_request - && github.event.pull_request.merged == false - && ( - github.event.pull_request.user.login == 'crocmagnon-pr[bot]' - || github.event.pull_request.user.login == 'pre-commit-ci[bot]' - ) - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Auto merge - run: gh pr merge ${{github.event.pull_request.number}} --delete-branch --rebase