Skip to content

Commit 87966ef

Browse files
bk86aclaude
andcommitted
ci: include bundled data files in publish paths filter, add workflow_dispatch
The publish job uses a path filter to skip on docs-only changes, but the filter was excluding two files that ARE bundled into the container image via the Dockerfile: - tercet_missing_codes.csv (estimates fallback table) - docker-entrypoint.sh (the actual ENTRYPOINT) Consequence: PR #93 (CSV-only data update) was merged but `publish` skipped, so `ghcr.io/.../:latest` still pointed at the previous image without the 38 new postcodes and the LT 71205 fix. Same risk applies to any future entrypoint-only change. Adds both files to the `code:` filter so a fresh image is published on merge. Also adds `workflow_dispatch` so the publish flow can be re-triggered manually from the Actions UI (or `gh workflow run`) without needing an empty commit dance; updates the `publish` job's `if` to allow that event type as well. Side effect of this PR landing: triggers a fresh image build that picks up #93's CSV update, so the next bunny.net redeploy from `:latest` will ship both the v0.19.3 deps and the data update. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 725e198 commit 87966ef

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches: [main]
66
pull_request:
77
branches: [main]
8+
workflow_dispatch: {}
89

910
permissions:
1011
contents: read
@@ -13,10 +14,14 @@ permissions:
1314

1415
jobs:
1516
# Detect whether the change touches any code-relevant path.
16-
# Docs-only changes (README, *.md, *.csv, docs/**) skip heavy work
17-
# while every required check name still reports success — this avoids
18-
# the paths-ignore + required-status-checks deadlock that previously
19-
# blocked docs-only PRs.
17+
# Docs-only changes (README, *.md outside the repo root data files,
18+
# docs/**) skip heavy work while every required check name still
19+
# reports success — this avoids the paths-ignore + required-status-checks
20+
# deadlock that previously blocked docs-only PRs.
21+
#
22+
# Data files bundled into the container image (tercet_missing_codes.csv,
23+
# docker-entrypoint.sh) ARE code-relevant — a change to either affects
24+
# what ships in `ghcr.io/.../:latest`, so they belong in the filter.
2025
changes:
2126
runs-on: ubuntu-latest
2227
outputs:
@@ -36,6 +41,8 @@ jobs:
3641
- 'pyproject.toml'
3742
- 'Dockerfile'
3843
- 'Makefile'
44+
- 'docker-entrypoint.sh'
45+
- 'tercet_missing_codes.csv'
3946
- '.github/workflows/**'
4047
4148
lint:
@@ -126,7 +133,7 @@ jobs:
126133
run: echo "Docs-only change — skipping docker build."
127134

128135
publish:
129-
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.code == 'true'
136+
if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' && needs.changes.outputs.code == 'true'
130137
needs: [changes, lint, import-check, test, security, docker]
131138
runs-on: ubuntu-latest
132139
steps:

0 commit comments

Comments
 (0)