Skip to content

Migrate crow to nullkomma R package tooling - #50

Merged
maxheld83 merged 8 commits into
mainfrom
maxheld83-nullkomma-migration
Oct 26, 2026
Merged

maxheld83 merged 8 commits into
mainfrom
maxheld83-nullkomma-migration

Conversation

@maxheld83

@maxheld83 maxheld83 commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Replace the Docker/Make development and CI stack with nullkomma's R-package and pkgdown support, preserving package behavior and substantive tests.

Approach

  • Use nullkomma 0.1.536 and its upgrade skill, with dataheld/maxheld branding and Cloudflare Workers configuration for crow.maxheld.de, following dataheld/elf.
  • Preserve Remotes: dataheld/elf; pkg.lock pins current elf main at 50aa5444cdfe81ea8114e505174afbd603b1df57.
  • Remove non-Nix R setup. Preserve main's package README content; only formatter whitespace changes remain. R source changes are formatting, documentation corrections and an equivalent lint rewrite, not API changes.
  • Keep Linux browser tests on both architectures, package/namespace/website checks, linting, duplication checks, website artifacts and public FlakeHub publication.
  • Temporarily omit macOS runners at the user's request. Restore coverage in restore macOS CI coverage #52; retained browser debugging is in support reproducible macOS browser tests in consumer CI nullkomma#255. Local macOS installed browser tests remain enabled.

Integration details

Cloudflare deployment runs only after successful main-branch CI and uses nullkomma's deploy app. It requires the Cloudflare zone, account/state-bucket variables and API/R2 secrets used by nullkomma. The app identity cannot inspect Actions variables or secrets (HTTP 403), so their presence and live deployment remain unverified.

UPSTREAM.md contains only remaining integration gaps. The project workflow selects Linux runners while macOS CI is deferred, and publishes the flake publicly. Browser-font and elf startup workarounds remain scoped to those demonstrated gaps.

Validation

The updated installed package passed all 46 assertions locally on macOS, with zero failures/warnings and only four existing fixture-setup skips. The branded pkgdown site and privacy page build, working-tree quality tasks pass, and formatting checks pass. All exported sandbox checks now pass on aarch64-darwin, aarch64-linux and x86_64-linux, including both Linux installed browser suites. One x86 browser preflight timed out during concurrent builds and passed when rerun alone. Remote CI and live deployment remain unverified.

maxheld83 and others added 3 commits October 24, 2026 10:58
Initialize from the official template, use the shared brand, preserve GitHub Remotes and existing checks, and configure unlisted FlakeHub publishing. Replace Docker and Make orchestration while retaining Pages deployment and browser coverage; document upstream workarounds.

Co-authored-by: Copilot App <[email protected]>
Co-authored-by: Copilot App <[email protected]>
maxheld83 and others added 3 commits October 26, 2026 23:58
Use the maxheld brand flake, retain explicit unlisted publication and Linux checks, and track macOS restoration in #52 and dataheld/nullkomma#255. Keep README package content unchanged and document only residual upstream integration gaps.

Co-authored-by: Copilot App <[email protected]>
Remove the obsolete unlisted-publication upstream finding.

Co-authored-by: Copilot App <[email protected]>
maxheld83 and others added 2 commits October 27, 2026 00:01
Record reproduction and workaround in dataheld/nullkomma#256.

Co-authored-by: Copilot App <[email protected]>
Use nullkomma checks without the additional history-scanning publication gate.

Co-authored-by: Copilot App <[email protected]>
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