Merge pull request #19 from dillonkearns/ci-fixes #6
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: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| main: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Use Node.js 24 | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| # Re-use node_modules between runs until package-lock.json changes. | |
| - name: Cache node_modules | |
| id: cache-node_modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: node_modules | |
| key: node_modules-${{ hashFiles('package-lock.json') }} | |
| # Re-use ~/.elm between runs until elm.json or | |
| # review/elm.json changes. The Elm compiler saves downloaded Elm packages | |
| # to ~/.elm, and elm-tooling saves downloaded tool executables there. | |
| - name: Cache ~/.elm | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.elm | |
| key: elm-${{ hashFiles('elm.json', 'review/elm.json', 'example/counter/elm.json') }} | |
| # Install npm packages, unless we restored them from cache. | |
| # Since `npm ci` removes the node_modules folder before running it’s | |
| # important to skip this step if cache was restored. | |
| - name: Setup lamdera dependencies | |
| run: (cd example/counter && npx lamdera make src/*.elm) | |
| - name: npm ci | |
| if: steps.cache-node_modules.outputs.cache-hit != 'true' | |
| run: npm ci | |
| - name: Tests | |
| run: npm test | |
| # - name: Run elm-review | |
| # run: npx elm-review | |
| - name: elm-format | |
| run: npx --no-install elm-format --validate $(git ls-files '*.elm') |