Skip to content
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
16 changes: 15 additions & 1 deletion .github/workflows/build-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,22 @@ name: Build Debian Packages
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
paths:
- '.github/workflows/build-deb.yml'
- 'debian/**'
- 'docker/**'
- 'Dockerfile.linux'
workflow_dispatch:
workflow_call:

# A new push to a pull request cancels the previous run. Other events get their own
# group so they are never cancelled or replaced.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read

Expand Down Expand Up @@ -143,7 +156,8 @@ jobs:
bash -euxc "./docker/build.sh"

- name: Save ccache
if: ${{ !cancelled() }}
# Pull requests only read the cache, pushes to main and manual runs populate it.
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
uses: actions/cache/save@v4
with:
path: .ccache
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,19 @@ name: Build MacOS
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
paths:
- '.github/workflows/build-macos.yml'
workflow_dispatch:
workflow_call:

# A new push to a pull request cancels the previous run. Other events get their own
# group so they are never cancelled or replaced.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read

Expand Down Expand Up @@ -84,7 +94,8 @@ jobs:
run: ccache --show-stats

- name: Save ccache
if: ${{ !cancelled() }}
# Pull requests only read the cache, pushes to main and manual runs populate it.
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
uses: actions/cache/save@v4
with:
path: .ccache
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,19 @@ name: Build Windows Package
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
paths:
- '.github/workflows/build-windows.yml'
workflow_dispatch:
workflow_call:

# A new push to a pull request cancels the previous run. Other events get their own
# group so they are never cancelled or replaced.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read

Expand Down Expand Up @@ -184,7 +194,8 @@ jobs:
run: ccache --show-stats

- name: Save ccache
if: ${{ !cancelled() }}
# Pull requests only read the cache, pushes to main and manual runs populate it.
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
uses: actions/cache/save@v4
with:
path: .ccache
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,35 @@ on:
pull_request:
branches:
- main
# Only on pull requests: the release needs a successful run for every commit on main.
# If Tests ever becomes a required check, a skipped run stays Pending and blocks the merge.
paths-ignore:
- 'README.md'
- 'LICENSE'
- '.gitignore'
- 'donate.png'
- 'docs/**'
# other workflows, not run by this one (build-*.yml have their own pull_request trigger)
- '.github/workflows/build-*.yml'
- '.github/workflows/codacy.yml'
- '.github/workflows/release.yml'

workflow_dispatch:

# A new push to a pull request cancels the previous run. Runs that are not
# from a pull request get their own group so they are never cancelled or replaced.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read

jobs:
linux:
runs-on: ubuntu-24.04
name: linux (pytest)
timeout-minutes: 120
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_MAXSIZE: 500M
Expand Down
Loading