S19 — A player can spend money on something other than survival (#100) #261
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: Verify | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Pester | |
| shell: pwsh | |
| run: Install-Module -Name Pester -Force -SkipPublisherCheck -Scope CurrentUser | |
| # verification: true | |
| - name: Parse-check PowerShell scripts | |
| shell: pwsh | |
| run: | | |
| $parseErrors = Get-ChildItem -Path . -Recurse -Filter '*.ps1' | ForEach-Object { | |
| $tokens = $null | |
| $errors = $null | |
| [System.Management.Automation.Language.Parser]::ParseFile($_.FullName, [ref] $tokens, [ref] $errors) | Out-Null | |
| $errors | |
| } | |
| if ($parseErrors) { | |
| $parseErrors | Format-List | Out-String | Write-Error | |
| exit 1 | |
| } | |
| # verification: true | |
| - name: Run Pester tests | |
| shell: pwsh | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: Invoke-Pester -Path tools -Output Detailed | |
| # verification: true | |
| - name: Validate the core/companion split | |
| shell: pwsh | |
| run: ./tools/Test-Companion.ps1 | |
| # verification: true | |
| - name: Check the design state against the tree | |
| shell: pwsh | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: ./tools/Test-DesignState.ps1 | |
| # verification: true | |
| - name: Check the spec set | |
| shell: pwsh | |
| run: ./tools/Test-SpecSet.ps1 | |
| content: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| # The engine is a pinned submodule and the campaign sources compile against it; | |
| # without this the whole job resolves nothing. | |
| submodules: recursive | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| # verification: true | |
| - name: Build the pinned engine | |
| run: npm run setup | |
| - name: Install content dependencies | |
| run: npm install | |
| # verification: true | |
| - name: Typecheck the campaign sources | |
| run: npm run typecheck | |
| # verification: true | |
| - name: Test the campaign sources | |
| run: npm test | |
| # verification: true | |
| - name: Re-export content and fail if the committed JSON is stale | |
| run: npm run export:content && npm run check:clean |