chore: tier CI + lint-clean the package#9
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.yamlwith two workflows (news-version.yamlandrhub.yamlunchanged):verify.yml— fast per-PR gate. Runs on every push tomainand every PR. A blockinglintjob (lintr::lint_package()) gates a single UbuntuR CMD check.full-check.yml— full matrix (macOS / Windows / Ubuntu across devel / release / oldrel-1). Runs on merges tomain, PRs touching compiled/build files (src/**,configure*,Makevars*,DESCRIPTION, the workflow itself), weekly cron, andworkflow_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
.lintr(linters_with_defaultsminusobject_usage_linter, UTF-8).data-raw/generate_unicode_tables.Rto 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