Skip to content

Commit

Permalink
[3.8] bpo-40548: GitHub Action workflow: skip jobs on doc only PRs (G…
Browse files Browse the repository at this point in the history
…H-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 4e36376)

* 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 75d7257)

* 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 6a78589)

Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
Co-authored-by: Filipe Laíns <lains@archlinux.org>
(cherry picked from commit 07bd5cf)

Co-authored-by: Victor Stinner <vstinner@python.org>
  • Loading branch information
miss-islington and vstinner authored May 15, 2020
1 parent c1203b7 commit 6ad51a1
Showing 1 changed file with 27 additions and 11 deletions.
38 changes: 27 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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:
Expand Down

0 comments on commit 6ad51a1

Please sign in to comment.