Fix parsing of indented modules #165
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: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Cache PureScript dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| key: ${{ runner.os }}-spago-${{ hashFiles('spago.lock') }} | |
| path: | | |
| .spago | |
| output | |
| - name: Cache package set dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| key: ${{ runner.os }}-spago-${{ hashFiles('parse-package-set/package-set-install/spago.lock') }} | |
| path: | | |
| parse-package-set/package-set-install/.spago | |
| parse-package-set/package-set-install/output | |
| - name: Cache Spago downloads | |
| uses: actions/cache@v4 | |
| with: | |
| key: ${{ runner.os }}-spago-nodejs-cache | |
| path: ~/.cache/spago-nodejs | |
| - name: Install npm dependencies | |
| run: npm install --include=dev | |
| - name: Install dependencies | |
| run: npm run install | |
| - name: Build project | |
| run: npm run build -- --pedantic-packages --strict | |
| - name: Run tests | |
| run: npm run test -- --offline --quiet | |
| - name: Check formatting | |
| run: npm run format:check | |
| - name: Parse package sets | |
| run: | | |
| npm run parse-package-set 2> parse-package-set-errors.log | |
| exit_code=$? | |
| if [ $exit_code -ne 0 ]; then | |
| echo "Parse package sets failed with exit code $exit_code" | |
| exit $exit_code | |
| fi | |
| - name: Upload parse package sets error log | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: parse-package-set-errors | |
| path: parse-package-set-errors.log | |
| retention-days: 30 | |
| - name: Run file benchmark | |
| run: npm run bench-file src/PureScript/CST/Parser.purs |