- testthat infrastructure with 15 tests covering env-var guards, return types for all format/save functions, and spelling - inst/WORDLIST with 52 domain terms (LightGBM, MinIO, Parquet, etc.) - Spelling test wired into devtools::test() via test-spelling.R - styler::style_file() added as step 0 in deploy.R (auto-fixes before ship) - .gitea/workflows/test.yaml: runs testthat suite on push - .gitea/workflows/lint.yaml: lychee link check + styler dry-run on push - Removed internal IP address from comment in train_production_model() - Language: en-US added to DESCRIPTION Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
name: Lint & Format Check
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
pull_request:
|
|
branches: [main, master]
|
|
|
|
jobs:
|
|
lychee:
|
|
name: Link Check
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Check links
|
|
uses: lycheeverse/lychee-action@v2
|
|
with:
|
|
# Scan markdown and HTML; skip local anchors and MinIO endpoints
|
|
args: >
|
|
--verbose
|
|
--no-progress
|
|
--exclude 'minio:'
|
|
--exclude 'localhost'
|
|
--exclude '192\.168\.'
|
|
--exclude '172\.'
|
|
--exclude 'git\.robwiederstein\.org'
|
|
'**/*.md'
|
|
'**/*.qmd'
|
|
fail: true
|
|
|
|
style:
|
|
name: Format Check (styler)
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: rocker/tidyverse:4.4
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install styler
|
|
run: Rscript -e "install.packages('styler')"
|
|
|
|
- name: Check R/functions.R is styled
|
|
run: |
|
|
Rscript -e "
|
|
result <- styler::style_file('R/functions.R', dry = 'fail')
|
|
if (any(result\$changed)) {
|
|
cat('Formatting errors in R/functions.R. Run styler::style_file() locally.\n')
|
|
quit(status = 1)
|
|
}
|
|
"
|