Update Vintage Story CI dependency versions, upload matching game DLLs to vs-build-dependencies, and verify GitHub Actions builds against the current stable game version.
Update Vintage Story CI dependency versions, upload matching game DLLs to vs-build-dependencies, and verify GitHub Actions builds against the current stable game version.
If the local install is behind the official latest stable, stop and ask the maintainer whether to update the local install first or target the installed version temporarily.
Dependency Repo Check
List available dependency versions:
gh api repos/BASIC-BIT/vs-build-dependencies/contents --jq '.[].name'
Check a specific version directory:
gh api repos/BASIC-BIT/vs-build-dependencies/contents/1.22.2 --jq '.[].name'
If the local .NET 10 SDK path is unavailable, use actions/setup-dotnet behavior as the reference and install or locate a .NET 10 SDK before concluding the build is broken.
Commit And Push
Before committing, inspect only the intended files:
git add -- .github/workflows/build.yml .github/workflows/codeql.yml .github/workflows/release.yml scripts/upload-vs-dependencies.ps1
git commit -m "Update CI to Vintage Story 1.22.2 dependencies"
Push only after explicit maintainer approval:
git push origin main
If branch protection is bypassed, report that explicitly in the summary.
GitHub Actions Verification
List new runs for the pushed SHA:
gh run list --branch main --limit 5 --json databaseId,workflowName,status,conclusion,headSha,url,createdAt
Watch the relevant runs:
gh run watch <run-id> --exit-status
At minimum, verify:
CodeQL downloads the requested dependency version.
CodeQL builds The BASICs and completes analysis.
Build workflow downloads or restores the requested dependency version.
Build workflow gets past dependency verification, restore, build, formatting, and tests.
Failure Triage
If a run still fails at dependency download, check:
workflow VS_VERSION matches the uploaded dependency folder name exactly
VS_DEPS_TOKEN can access BASIC-BIT/vs-build-dependencies
the dependency repo has core, mods, and lib under that version
the dependency cache key is for the intended version
If a run gets past dependency download and fails later, classify it as a separate CI gate. Examples:
formatting failure: code formatting issue
test failure: product or test issue
coverage threshold failure: coverage gate issue
complexity failure: lizard complexity gate issue
CodeQL warnings after a successful analysis: non-blocking unless the job conclusion is failure
Report clearly whether the original dependency problem is fixed before discussing later failures.
Summary Template
Use a concise final summary:
Updated CI to build against Vintage Story <version>.
- Official latest stable: <version>
- Local install: <path> reports <version>
- Uploaded dependencies: BASIC-BIT/vs-build-dependencies@<sha>
- Updated workflows/scripts: <commit sha>
- Local build: <result>
- GitHub Actions: CodeQL <result>, Build <result>
Remaining failures, if any, are <related/unrelated> to dependency setup: <short reason>.