Skip to content

ci: tighten CI/CD pipeline - #10

Merged
thomaspinder merged 5 commits into
mainfrom
ci-improvements
Feb 22, 2026
Merged

thomaspinder merged 5 commits into
mainfrom
ci-improvements

Conversation

@thomaspinder

Copy link
Copy Markdown
Collaborator

Summary

  • Deploy docs to GitHub Pages on every push to main (not just on release)
  • Simplify release workflow to build+publish only (version bump handled by local scripts/release.py)
  • Add local release script following cbspy pattern (uv run scripts/release.py patch|minor|major)
  • Add Dependabot for weekly pip and github-actions updates

Test plan

🤖 Generated with Claude Code

thomaspinder and others added 5 commits February 22, 2026 13:42
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@thomaspinder
thomaspinder merged commit abeb253 into main Feb 22, 2026
8 checks passed
@thomaspinder
thomaspinder deleted the ci-improvements branch February 22, 2026 13:14
thomaspinder added a commit that referenced this pull request May 18, 2026
…72) (#73)

Previously, IRFResult/FEVDResult/HistoricalDecompositionResult collapsed
the named (response, shock) axes into anonymous integer columns, and HD
also lost its time axis via the (T*n, n) reshape. Callers had to reverse-
engineer the flatten order, and per-row HD access silently misaligned.

- src/impulso/results.py: add `_wide_frame` helper; rewrite IRF/FEVD/HD
  `.median()` and `.hdi()` to return wide DataFrames with
  `MultiIndex(['response','shock'])` on columns; integer horizon index for
  IRF/FEVD, DatetimeIndex for HD. `.to_dataframe()` stays as a `.median()`
  passthrough pending the dedicated follow-up (audit #9).
- src/impulso/identified.py: attach `"time"` coord on the HD DataArray
  so the new HD accessor can build its DatetimeIndex.
- src/impulso/plotting/_irf.py: replace `med.values[:, col_idx]` integer
  arithmetic with label-based `med[(resp, shock)]` lookups; pull shock
  names from the DataArray's `shock` coord.
- tests/test_results.py: 9 new tests across IRF/FEVD/HD locking the new
  contract — MultiIndex column labels round-trip the underlying
  DataArray values, HD index is a DatetimeIndex matching `data.index[n_lags:]`,
  HDIResult.lower / .upper mirror shape and labels.

Closes audit findings #1 and #10 (reports/audit-2026-05-18.md).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant