[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
|
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:
|
on:
|
||||||
#push:
|
|
||||||
# branches:
|
|
||||||
# - master
|
|
||||||
# - 3.8
|
|
||||||
# - 3.7
|
|
||||||
# paths-ignore:
|
|
||||||
# - 'Doc/**'
|
|
||||||
# - 'Misc/**'
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- 3.8
|
- 3.8
|
||||||
- 3.7
|
- 3.7
|
||||||
paths-ignore:
|
|
||||||
- 'Doc/**'
|
|
||||||
- 'Misc/**'
|
|
||||||
|
|
||||||
jobs:
|
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:
|
build_win32:
|
||||||
name: 'Windows (x86)'
|
name: 'Windows (x86)'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
needs: check_source
|
||||||
|
if: needs.check_source.outputs.run_tests == 'true'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Build CPython
|
- name: Build CPython
|
||||||
|
@ -34,6 +44,8 @@ jobs:
|
||||||
build_win_amd64:
|
build_win_amd64:
|
||||||
name: 'Windows (x64)'
|
name: 'Windows (x64)'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
needs: check_source
|
||||||
|
if: needs.check_source.outputs.run_tests == 'true'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Build CPython
|
- name: Build CPython
|
||||||
|
@ -46,6 +58,8 @@ jobs:
|
||||||
build_macos:
|
build_macos:
|
||||||
name: 'macOS'
|
name: 'macOS'
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
needs: check_source
|
||||||
|
if: needs.check_source.outputs.run_tests == 'true'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Configure CPython
|
- name: Configure CPython
|
||||||
|
@ -60,6 +74,8 @@ jobs:
|
||||||
build_ubuntu:
|
build_ubuntu:
|
||||||
name: 'Ubuntu'
|
name: 'Ubuntu'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: check_source
|
||||||
|
if: needs.check_source.outputs.run_tests == 'true'
|
||||||
env:
|
env:
|
||||||
OPENSSL_VER: 1.1.1f
|
OPENSSL_VER: 1.1.1f
|
||||||
steps:
|
steps:
|
||||||
|
|
Loading…
Reference in New Issue