Skip to content

Commit

Permalink
Consolidate test CI and add concurrency limits (psf#3189)
Browse files Browse the repository at this point in the history
  • Loading branch information
ichard26 authored and cibinmathew committed Aug 13, 2022
1 parent 0e9aaad commit 3164cc8
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 74 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Documentation Build
name: Documentation

on: [push, pull_request]

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: Fuzz

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

permissions:
contents: read

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Set up Python
- name: Set up latest Python
uses: actions/setup-python@v4
with:
python-version: "*"
Expand All @@ -27,9 +27,9 @@ jobs:
python -m pip install -e '.[d]'
python -m pip install tox
- name: Lint
- name: Run pre-commit hooks
uses: pre-commit/action@v3.0.0

- name: Run On Self
- name: Format ourselves
run: |
tox -e run_self
64 changes: 44 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,15 @@ on:
- "docs/**"
- "*.md"

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

jobs:
build:
main:
# We want to run on external PRs, but not on our own internal PRs as they'll be run
# by the push to the branch. Without this if check, checks are duplicated since
# internal PRs match both the push and pull_request events.
Expand All @@ -35,29 +42,23 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
- name: Install tox
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade tox
- name: Unit tests
if: "!startsWith(matrix.python-version, 'pypy')"
run: |
tox -e ci-py -- -v --color=yes
run: tox -e ci-py -- -v --color=yes

- name: Unit tests pypy
- name: Unit tests (pypy)
if: "startsWith(matrix.python-version, 'pypy')"
run: |
tox -e ci-pypy3 -- -v --color=yes
run: tox -e ci-pypy3 -- -v --color=yes

- name: Publish coverage to Coveralls
# If pushed / is a pull request against main repo AND
- name: Upload coverage to Coveralls
# Upload coverage if we are on the main repository and
# we're running on Linux (this action only supports Linux)
if:
((github.event_name == 'push' && github.repository == 'psf/black') ||
github.event.pull_request.base.repo.full_name == 'psf/black') && matrix.os ==
'ubuntu-latest'

if: github.repository == 'psf/black' && matrix.os == 'ubuntu-latest'
uses: AndreMiras/coveralls-python-action@v20201129
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -66,17 +67,40 @@ jobs:
debug: true

coveralls-finish:
needs: build
# If pushed / is a pull request against main repo
if:
(github.event_name == 'push' && github.repository == 'psf/black') ||
github.event.pull_request.base.repo.full_name == 'psf/black'
needs: main
if: github.repository == 'psf/black'

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Coveralls finished
- name: Send finished signal to Coveralls
uses: AndreMiras/coveralls-python-action@v20201129
with:
parallel-finished: true
debug: true

uvloop:
if:
github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
github.repository
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest]

steps:
- uses: actions/checkout@v3

- name: Set up latest Python
uses: actions/setup-python@v4
with:
python-version: "*"

- name: Install black with uvloop
run: |
python -m pip install pip --upgrade --disable-pip-version-check
python -m pip install -e ".[uvloop]"
- name: Format ourselves
run: python -m black --check src/
50 changes: 0 additions & 50 deletions .github/workflows/uvloop_test.yml

This file was deleted.

0 comments on commit 3164cc8

Please sign in to comment.