diff options
author | Victor Stinner <vstinner@python.org> | 2020-05-15 03:27:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-15 03:27:48 (GMT) |
commit | 07bd5cf3d9551ae84100e6400836163fcd507f07 (patch) | |
tree | 9d68199a04c8728dadaa351002112c53d6bb7989 /.github | |
parent | eb5ce324f724a59c51d7a76d1dd49b550cdf386b (diff) | |
download | cpython-07bd5cf3d9551ae84100e6400836163fcd507f07.zip cpython-07bd5cf3d9551ae84100e6400836163fcd507f07.tar.gz cpython-07bd5cf3d9551ae84100e6400836163fcd507f07.tar.bz2 |
[3.8] bpo-40548: GitHub Action workflow: skip jobs on doc only PRs (GH-20100)
* bpo-40548: Always run GitHub action, even on doc PRs (GH-19981)
Always run GitHub action jobs, even on documentation-only pull
requests. So it will be possible to make a GitHub action job, like
the Windows (64-bit) job, mandatory.
(cherry picked from commit 4e363761fc02a89d53aba4382dc451293bd6f0ba)
* bpo-40548: GitHub Action workflow: skip jobs on doc only PRs (GH-19983)
Signed-off-by: Filipe Laíns <lains@archlinux.org>
(cherry picked from commit 75d7257b201a56f950c20cd9f5753a83fff4742b)
* bpo-40548: github actions: pass the changes check on no source changes (GH-20097)
Signed-off-by: Filipe Laíns <lains@archlinux.org>
(cherry picked from commit 6a78589b6b22878491a4b042bb8b3161e1d120f6)
Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
Co-authored-by: Filipe Laíns <lains@archlinux.org>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build.yml | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d3d6747..27d7f15 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,27 +1,37 @@ name: Tests +# bpo-40548: "paths-ignore" is not used to skip documentation-only PRs, because +# it prevents to mark a job as mandatory. A PR cannot be merged if a job is +# mandatory but not scheduled because of "paths-ignore". on: - #push: - # branches: - # - master - # - 3.8 - # - 3.7 - # paths-ignore: - # - 'Doc/**' - # - 'Misc/**' pull_request: branches: - master - 3.8 - 3.7 - paths-ignore: - - 'Doc/**' - - 'Misc/**' jobs: + check_source: + name: 'Check for source changes' + runs-on: ubuntu-latest + outputs: + run_tests: ${{ steps.check.outputs.run_tests }} + steps: + - uses: actions/checkout@v2 + - name: Check for source changes + id: check + run: | + if [ -z "GITHUB_BASE_REF" ]; then + echo '::set-output name=run_tests::true' + else + git fetch origin $GITHUB_BASE_REF --depth=1 + git diff --name-only origin/$GITHUB_BASE_REF... | grep -qvE '(\.rst$|^Doc|^Misc)' && echo '::set-output name=run_tests::true' || true + fi build_win32: name: 'Windows (x86)' runs-on: windows-latest + needs: check_source + if: needs.check_source.outputs.run_tests == 'true' steps: - uses: actions/checkout@v1 - name: Build CPython @@ -34,6 +44,8 @@ jobs: build_win_amd64: name: 'Windows (x64)' runs-on: windows-latest + needs: check_source + if: needs.check_source.outputs.run_tests == 'true' steps: - uses: actions/checkout@v1 - name: Build CPython @@ -46,6 +58,8 @@ jobs: build_macos: name: 'macOS' runs-on: macos-latest + needs: check_source + if: needs.check_source.outputs.run_tests == 'true' steps: - uses: actions/checkout@v1 - name: Configure CPython @@ -60,6 +74,8 @@ jobs: build_ubuntu: name: 'Ubuntu' runs-on: ubuntu-latest + needs: check_source + if: needs.check_source.outputs.run_tests == 'true' env: OPENSSL_VER: 1.1.1f steps: |