Skip to content

S19 — A player can spend money on something other than survival (#100) #261

S19 — A player can spend money on something other than survival (#100)

S19 — A player can spend money on something other than survival (#100) #261

Workflow file for this run

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