61 lines
1.4 KiB
YAML
61 lines
1.4 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@v3
|
|
|
|
- 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: Install Node.js (required for actions/checkout)
|
|
run: |
|
|
apt-get update -y
|
|
apt-get install -y nodejs
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- 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)
|
|
}
|
|
"
|