Add Phase 4: code quality, CI/CD, and formatting

- 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>
This commit is contained in:
2026-02-22 04:41:37 -05:00
parent 705b2a13d0
commit 7a1a8e0053
10 changed files with 521 additions and 254 deletions

View File

@@ -0,0 +1,31 @@
name: R Package Tests
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
test:
runs-on: ubuntu-latest
container:
image: rocker/tidyverse:4.4
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install system dependencies
run: |
apt-get update -y
apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev
- name: Install R package dependencies
run: |
Rscript -e "install.packages(c('remotes', 'testthat', 'withr'))"
Rscript -e "remotes::install_deps(dependencies = TRUE)"
- name: Run tests
run: |
Rscript -e "devtools::test()"