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: Install Node.js (required for actions/checkout) run: | apt-get update -y apt-get install -y nodejs - 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) } "