Skip to content

chore: tier CI + lint-clean the package#9

Merged
bart-turczynski merged 3 commits into
mainfrom
chore/tiered-ci
Jun 15, 2026
Merged

chore: tier CI + lint-clean the package#9
bart-turczynski merged 3 commits into
mainfrom
chore/tiered-ci

Conversation

@bart-turczynski

Copy link
Copy Markdown
Owner

Tiers CI into a fast gate plus a full cross-platform matrix, and makes the package lint-clean so the new blocking lint job stays green.

CI tiering

Replaces the single R-CMD-check.yaml with two workflows (news-version.yaml and rhub.yaml unchanged):

  • verify.yml — fast per-PR gate. Runs on every push to main and every PR. A blocking lint job (lintr::lint_package()) gates a single Ubuntu R CMD check.
  • full-check.yml — full matrix (macOS / Windows / Ubuntu across devel / release / oldrel-1). Runs on merges to main, PRs touching compiled/build files (src/**, configure*, Makevars*, DESCRIPTION, the workflow itself), weekly cron, and workflow_dispatch.

The optional libidn2 backend is installed on CI in both tiers (Linux via apt, macOS via brew in the matrix) so the native path and the libidn2-vs-fallback parity tests actually exercise.

Lint cleanup

  • Added the project-standard .lintr (linters_with_defaults minus object_usage_linter, UTF-8).
  • Findings: 203 → 0 under the new config.
  • Changes are formatting only: styler-applied quote/semicolon/spacing/indentation fixes, manual line-breaking of over-long lines, removal of one commented-code block in a test, and behavior-preserving renames of local SCREAMING_CASE constants in data-raw/generate_unicode_tables.R to snake_case (the generated C++ symbol names are unchanged). No logic or exported API changed.

Tests

devtools::test(): 331 passed, 0 failed, 0 skipped (libidn2 available locally, so parity tests ran).

🤖 Generated with Claude Code

bart-turczynski and others added 3 commits June 15, 2026 14:12
Add the project-standard .lintr (defaults minus object_usage_linter) and
bring the package to zero lint findings under it. Changes are formatting
only: styler-applied quote/semicolon/spacing/indentation fixes, manual
line-breaking of over-long lines, removal of one commented-code block, and
behavior-preserving renames of local SCREAMING_CASE constants in the
data-raw generator to snake_case. No logic or exported API changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the single R-CMD-check workflow with two tiers:

- verify.yml: fast per-PR gate (lint + one Ubuntu R CMD check), runs on
  every push to main and every PR; lint is blocking and gates the check.
- full-check.yml: full cross-platform matrix (macOS/Windows/Ubuntu across
  devel/release/oldrel), runs on merges to main, PRs touching compiled or
  build files, weekly, and on demand.

Both install the optional libidn2 backend (Linux apt, macOS brew) so the
native path and the libidn2-vs-fallback parity tests exercise on CI.
news-version.yaml and rhub.yaml are unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fast verify.yml runs a standard check (--no-manual); full-check.yml runs the
strict --as-cran pass across every platform. Mirrors the boilerplate template.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bart-turczynski bart-turczynski merged commit ee5d41f into main Jun 15, 2026
10 checks passed
@bart-turczynski bart-turczynski deleted the chore/tiered-ci branch June 15, 2026 14:20
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