[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 4e363761fc)

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

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

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

Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
Miss Islington (bot) 2020-05-14 20:46:25 -07:00 committed by GitHub
parent c1203b75ff
commit 6ad51a1fd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 11 deletions

View File

@ -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: