dev-setup: actually install lintr (bypass renv + add system dev libs) #60
Workflow file for this run
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
| name: CI | |
| on: | |
| push: | |
| # main is intentionally excluded: publish.yaml builds + smoke-tests (then | |
| # publishes) on main pushes, so running this too would just double the build. | |
| # Every other branch (feature/dev branches) is gated here, plus all PRs. | |
| branches-ignore: [main] | |
| # Skip the ~3-min image rebuild for docs-only pushes. paths-ignore is a | |
| # denylist (skip only when *every* changed file matches), so a new | |
| # build-relevant file can never be silently excluded -- and no build input | |
| # is markdown, so ignoring docs is safe. | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'LICENSE' | |
| pull_request: | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'LICENSE' | |
| permissions: | |
| contents: read | |
| jobs: | |
| # Build the deliverable images and smoke-test them in-image. This runs the same | |
| # scripts/build_images.sh used on the lab PC, so "CI green" == "builds + works on | |
| # the workstation". Compiles FVS from source (FVS_BASE=source); first run is slow | |
| # (FVS build + renv restore). FVS_BASE=ghcr is a verified faster alternative | |
| # (extracts the prebuilt engine from usfs-fvs); add a buildx layer cache if build | |
| # time becomes a problem. | |
| images: | |
| name: Build images + in-image smoke test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive # vendor/fvs (+NVEL), fvs-build, fvs-interface | |
| # buildx + the GHA cache backend (CACHE=gha) so unchanged layers (the FVS | |
| # compile, renv restore) are reused across PR/branch runs. publish.yaml | |
| # deliberately omits this -- release builds miss the cache for | |
| # reproducibility (docs/UPSTREAM_REVIEW.md A4). | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build + smoke test | |
| run: bash scripts/build_images.sh | |
| env: | |
| ENGINE: docker | |
| FVS_VARIANT: ie | |
| FVS_BASE: source | |
| CACHE: gha |