Skip to content
Closed
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
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
!deploy/watchdog/**
!tower-*
!xtask
!deploy
!deploy/watchdog
!deploy/watchdog/**
!zebra-*
!zebrad
!docker/entrypoint.sh
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Coverage

on:
push:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Lint

on:
pull_request:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand All @@ -13,7 +13,7 @@ on:
- supply-chain/**

push:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand All @@ -23,6 +23,11 @@ on:
- .github/workflows/lint.yml
- supply-chain/**

# Run the full lint suite when a PR is queued so the merge queue validates the
# merged result against the latest `main`. `merge_group` ignores path filters,
# so this runs unconditionally on every queued entry.
merge_group:

# Ensures that only one workflow task will run at a time. Previous builds, if
# already in process, will get cancelled. Only the latest commit will be allowed
# to run, cancelling any workflows in between
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/status-checks.patch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name: Status Check Patch

on:
pull_request:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths-ignore:
# This MUST be an exact inverse of paths in lint.yml, tests-unit.yml, and test-crates.yml
# to ensure mutual exclusion - only one set of workflows runs
Expand All @@ -16,6 +16,8 @@ on:
- '**/Cargo.lock'
- .cargo/config.toml
- '**/clippy.toml'
- supply-chain/**
- .config/nextest.toml
- .github/workflows/lint.yml
- .github/workflows/tests-unit.yml
- .github/workflows/test-crates.yml
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/test-crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Test Crate Build

on:
pull_request:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand All @@ -12,7 +12,7 @@ on:
- .github/workflows/test-crates.yml

push:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand All @@ -21,6 +21,11 @@ on:
- "**/clippy.toml"
- .github/workflows/test-crates.yml

# Run the full crate-build suite when a PR is queued so the merge queue
# validates the merged result against the latest `main`. `merge_group` ignores
# path filters, so this runs unconditionally on every queued entry.
merge_group:

workflow_dispatch:

# Ensures that only one workflow task will run at a time. Previous builds, if
Expand Down Expand Up @@ -181,8 +186,10 @@ jobs:
- uses: ./.github/actions/setup-zebra-build

- name: Build ${{ matrix.crate }} crate with MSRV, all features and all targets
# zebrad can have a higher MSRV than the other crates since it is a binary, so we skip the MSRV build for it.
if: matrix.crate != 'zebrad'
# zebrad and zebra-watchdog can have a higher MSRV than the other crates since they are
# binaries, not libraries, so we skip the MSRV build for them. zebra-watchdog depends on
# sentry, which requires a newer rustc than the workspace library MSRV.
if: matrix.crate != 'zebrad' && matrix.crate != 'zebra-watchdog'
run: |
cargo clippy --package ${{ matrix.crate }} --all-features --all-targets -- -D warnings
cargo build --package ${{ matrix.crate }} --all-features --all-targets
Expand Down
28 changes: 26 additions & 2 deletions .github/workflows/test-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Test Docker Config

on:
pull_request:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand All @@ -13,8 +14,14 @@ on:
- zebrad/tests/common/configs/**
- .github/workflows/test-docker.yml

schedule:
# Keep release-mode Docker coverage off the critical PR path.
- cron: "0 9 * * *"

workflow_dispatch:

push:
branches: [main]
branches: [main, ironwood-main, evan/ironwood-qol, feat/p2p-v2]
paths:
- "**/*.rs"
- "**/Cargo.toml"
Expand Down Expand Up @@ -46,6 +53,7 @@ env:
jobs:
build-docker-image:
name: Build Docker Image
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'A-release')
permissions:
contents: read
id-token: write
Expand All @@ -56,6 +64,13 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
persist-credentials: false
# The `tests` target image bakes in the full `target/release` build tree, which
# overflows the ~14 GB free on a standard ubuntu-latest runner. Reclaim space by
# removing preinstalled toolchains we don't use for this build.
- name: Free up runner disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL /usr/local/.ghcup
df -h /
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@e6f261660910b273384c5c42b17a0217881b217a #v5.6.0
with:
Expand Down Expand Up @@ -84,6 +99,7 @@ jobs:
test-configurations:
name: Test ${{ matrix.name }}
needs: build-docker-image
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'A-release')
permissions:
contents: read
actions: read
Expand Down Expand Up @@ -165,6 +181,13 @@ jobs:
with:
persist-credentials: false

# `docker load` of the `tests` image needs more space than the ~14 GB free on a
# standard ubuntu-latest runner. Reclaim space by removing unused toolchains.
- name: Free up runner disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL /usr/local/.ghcup
df -h /

- name: Download artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
with:
Expand Down Expand Up @@ -241,3 +264,4 @@ jobs:
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe #v1.2.2
with:
jobs: ${{ toJSON(needs) }}
allowed-skips: build-docker-image,test-configurations
Loading