Skip to content

chore: align .github structure with Piccolo conventions - #10

Merged
jack-champagne merged 2 commits into
mainfrom
chore/github-alignment
May 20, 2026
Merged

chore: align .github structure with Piccolo conventions#10
jack-champagne merged 2 commits into
mainfrom
chore/github-alignment

Conversation

@jack-champagne

@jack-champagne jack-champagne commented May 20, 2026

Copy link
Copy Markdown
Member

Summary

Brings HBJ's .github/ up to parity with the Piccolo.jl-shaped layout the
rest of the org uses. Will land before HBJ#8 (alloc analyzer), which is being
rebased on top of this so it picks up the real test runs.

What changes

Workflows

File Change
CI.yml Replaces the precompile-only smoke check with the canonical matrix workflow: julia-runtest + coverage + codecov on Julia 1.10/1.11/1.12 × Linux x64. Adds paths-ignore: ['docs/**', '*.md'] so doc-only PRs don't burn minutes once docs/ exists.
Formatter.yml (new) JuliaFormatter check on PR/push, with workflow_dispatch escape hatch to autoformat + commit.
nightly.yml (new) Daily Julia 'pre' install check. Matches Piccolo (install-only, not full test run — DTO's nightly diverges by also calling julia-runtest; we follow Piccolo here).
TagBot.yml Cosmetic — unquote lookback: 3 to match Piccolo exactly. Functionally identical.

Dependabot

  • dependabot.yml: add the julia ecosystem alongside github-actions so weekly compat-bump PRs land against Project.toml too. Restores Piccolo's verbose comments.

Why now

The previous CI.yml only ran using HarmoniqsBenchmarks — i.e. CI never actually ran the test suite. Locally the 295-test suite passes, but CI gave a misleading green. This PR closes that gap by switching to julia-runtest.

Test plan

  • CI green on Julia 1.10/1.11/1.12 (the real test suite runs here for the first time)
  • Formatter check green
  • After merge: rebase HBJ#8 (alloc analyzer) onto main and verify its tests run under the new CI
  • No-ops to verify: nightly.yml doesn't run on PRs,

Files copied verbatim from harmoniqs/Piccolo.jl/.github/

All five workflows + dependabot.yml are byte-for-byte from Piccolo (sole exception: TagBot.yml already existed here, this PR just realigns the one quote-style nit).

Bring HBJ's `.github/` up to parity with the Piccolo.jl-shaped layout
that the rest of the org uses. Files are copied verbatim from Piccolo
unless noted.

Workflows
---------

- **CI.yml**: replace the precompile-only smoke check with the
  canonical matrix test workflow — runs `julia-runtest`, processes
  coverage, and uploads to codecov on Julia 1.10/1.11/1.12 + Linux
  x64. Adds `paths-ignore: ['docs/**', '*.md']` so doc-only PRs don't
  burn CI minutes once docs/ exists.
- **Formatter.yml** *(new)*: JuliaFormatter check on PR/push, with
  workflow_dispatch escape hatch to autoformat + commit.
- **nightly.yml** *(new)*: daily Julia 'pre' install check (matches
  Piccolo — install-only, not test run; intentionally lighter than
  DTO's nightly).
- **TagBot.yml**: cosmetic — unquote `lookback: 3` to match Piccolo
  exactly (functionally identical, both parse as string).

(Piccolo's `tasksmd-sync.yml` is intentionally omitted — HBJ doesn't
use the TASKS.md convention and adding the workflow speculatively is
clutter.)

dependabot.yml
--------------

Add the `julia` ecosystem alongside `github-actions` so dependabot
opens compat-bump PRs against Project.toml weekly. Comments restored
to Piccolo's verbose form.

CI.yml previously only checked that the package precompiles and loads —
so the test suite was never actually run on CI. This commit fixes that
gap; downstream branches (e.g. the alloc-analyzer PR #8) will rebase
on top of this to pick up the real test runs.
@jack-champagne
jack-champagne force-pushed the chore/github-alignment branch from 98fc9d6 to f5c08c4 Compare May 20, 2026 06:40
The Formatter workflow added in the previous commit will reject any
source file that isn't JuliaFormatter-clean. HBJ has never had a
formatter check, so the existing tree had accumulated formatter debt
(multi-line arg lists kept on one line, short conjunctions split
across multiple lines, etc).

Apply `JuliaFormatter.format(".")` over the whole repo so the Formatter
CI check on this PR (and every PR thereafter) starts from a clean
baseline. No semantic changes.

Touched: examples/convergence_template.jl, src/extractors.jl,
src/harness.jl, src/report.jl, src/schema.jl, src/storage.jl,
test/runtests.jl.
@jack-champagne
jack-champagne merged commit a6a6ac2 into main May 20, 2026
4 checks passed
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