Adds .github/workflows/R-CMD-check.yaml — the Windows/macOS/Linux matrix from #46.
Landing it ahead of the mirror (#44) is deliberate and safe: Gitea reads .gitea/workflows, GitHub reads .github/workflows, so this file is inert here and the existing Gitea CI stays authoritative for deploys. It goes live the moment the mirror repo exists, with no follow-up commit.
The package hard-depends on duckdb and httr2 — both compiled, both with real platform variance — and has never been checked on Windows or macOS. The Gitea runner is Linux-only and cannot provide this. A large share of the audience for a government-finance R package is on Windows.
This is the single biggest technical argument for the mirror, and it is a correctness gain rather than a distribution one.
No credentials needed
tests/testthat/setup.R points USCOGDATA_URL at the bundled fixture corpus, so the matrix runs fully offline. That is exactly why inst/extdata/fixture_corpus must never be added to .Rbuildignore — asserted by a test as of #41.
Test plan
YAML parses (yaml.safe_load)
^\.github$ already in .Rbuildignore, so the workflow does not ship in the tarball
Gitea CI green on this branch (it ignores .github/)
Matrix actually runs — not verifiable until #44 creates the mirror. First real run is the test.
Follow-ups
A CI status badge for the README, once the mirror exists and the workflow has run once. Not added now to avoid a second dead badge sitting next to the r-universe one.
The PR-comment action explaining the contribution flow (also #46) still to do.
## Summary
Adds `.github/workflows/R-CMD-check.yaml` — the Windows/macOS/Linux matrix from #46.
Landing it ahead of the mirror (#44) is deliberate and safe: **Gitea reads `.gitea/workflows`, GitHub reads `.github/workflows`**, so this file is inert here and the existing Gitea CI stays authoritative for deploys. It goes live the moment the mirror repo exists, with no follow-up commit.
Matrix: `macos-latest` (release), `windows-latest` (release), `ubuntu-latest` (release + devel).
## Why this matters
The package hard-depends on **duckdb** and **httr2** — both compiled, both with real platform variance — and has **never been checked on Windows or macOS**. The Gitea runner is Linux-only and cannot provide this. A large share of the audience for a government-finance R package is on Windows.
This is the single biggest technical argument for the mirror, and it is a correctness gain rather than a distribution one.
## No credentials needed
`tests/testthat/setup.R` points `USCOGDATA_URL` at the bundled fixture corpus, so the matrix runs fully offline. That is exactly why `inst/extdata/fixture_corpus` must never be added to `.Rbuildignore` — asserted by a test as of #41.
## Test plan
- [x] YAML parses (`yaml.safe_load`)
- [x] `^\.github$` already in `.Rbuildignore`, so the workflow does not ship in the tarball
- [x] Gitea CI green on this branch (it ignores `.github/`)
- [ ] Matrix actually runs — **not verifiable until #44 creates the mirror**. First real run is the test.
## Follow-ups
- A CI status badge for the README, once the mirror exists and the workflow has run once. Not added now to avoid a second dead badge sitting next to the r-universe one.
- The PR-comment action explaining the contribution flow (also #46) still to do.
The canonical Gitea runner is Linux-only, and this package hard-depends on
duckdb and httr2 -- both compiled, both with real platform variance --
while having never been checked on Windows or macOS. A large share of the
audience is on Windows.
Inert here: Gitea reads .gitea/workflows, GitHub reads .github/workflows,
so both configs coexist and the Gitea CI stays authoritative for deploys.
This goes live the moment the mirror repo exists (#44).
The matrix needs no credentials -- setup.R points at the bundled fixture --
which is why that fixture must never be .Rbuildignore'd.
jared
merged commit fe9238a6ef into main2026-08-08 19:54:02 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Adds
.github/workflows/R-CMD-check.yaml— the Windows/macOS/Linux matrix from #46.Landing it ahead of the mirror (#44) is deliberate and safe: Gitea reads
.gitea/workflows, GitHub reads.github/workflows, so this file is inert here and the existing Gitea CI stays authoritative for deploys. It goes live the moment the mirror repo exists, with no follow-up commit.Matrix:
macos-latest(release),windows-latest(release),ubuntu-latest(release + devel).Why this matters
The package hard-depends on duckdb and httr2 — both compiled, both with real platform variance — and has never been checked on Windows or macOS. The Gitea runner is Linux-only and cannot provide this. A large share of the audience for a government-finance R package is on Windows.
This is the single biggest technical argument for the mirror, and it is a correctness gain rather than a distribution one.
No credentials needed
tests/testthat/setup.RpointsUSCOGDATA_URLat the bundled fixture corpus, so the matrix runs fully offline. That is exactly whyinst/extdata/fixture_corpusmust never be added to.Rbuildignore— asserted by a test as of #41.Test plan
yaml.safe_load)^\.github$already in.Rbuildignore, so the workflow does not ship in the tarball.github/)Follow-ups