[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 commit4e363761fc
) * 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 commit75d7257b20
) * 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 commit6a78589b6b
) Co-authored-by: Filipe Laíns <filipe.lains@gmail.com> Co-authored-by: Filipe Laíns <lains@archlinux.org> (cherry picked from commit07bd5cf3d9
) Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
c1203b75ff
commit
6ad51a1fd6
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue