Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consolidate test CI and add concurrency limits #3189

Merged
merged 2 commits into from
Jul 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Set up latest Python
- name: Set up latest actions/setup-python Python

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think this is necessary since it's IMO obvious we're going to be using actions/setup-python to set up Python. I know you want it to be explicit the latest Python is coming from that action, but it seems overly explicit.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It just hurts my OCD as there could be a later stable version of python released, but the action could not be using it ... That is all.

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/[email protected]

- 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:
ichard26 marked this conversation as resolved.
Show resolved Hide resolved
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.