Skip to content

Nightly validation

Nightly validation #34

Workflow file for this run

name: Nightly validation
on:
schedule:
- cron: '30 5 * * *'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: nightly-validation
cancel-in-progress: true
jobs:
validate:
name: full lint, tests, and package
runs-on: windows-2025-vs2026
timeout-minutes: 35
steps:
- name: Checkout
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Set up .NET 10 SDK
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.0.x'
- name: Cache NuGet packages
uses: actions/cache@v5
with:
path: ~/.nuget/packages
key: nuget-nightly-${{ runner.os }}-${{ hashFiles('**/*.csproj', '**/packages.lock.json') }}
restore-keys: |
nuget-nightly-${{ runner.os }}-
- name: Cache NSIS install
uses: actions/cache@v5
with:
path: 'C:\Program Files (x86)\NSIS'
key: nsis-${{ runner.os }}-3.12
- name: Install NSIS
shell: pwsh
run: |
if (Test-Path "C:\Program Files (x86)\NSIS\makensis.exe") {
Write-Host "NSIS already installed."
} else {
choco install nsis -y --no-progress
if ($LASTEXITCODE -ne 0) { throw "NSIS install failed with exit $LASTEXITCODE" }
}
- name: Run full lint check
shell: pwsh
run: .\lint.ps1 -Check
- name: Build release package
shell: pwsh
run: .\build.ps1 -Release -RequireInstaller
- name: Upload nightly package
uses: actions/upload-artifact@v7
with:
name: VRCInventoryManager-nightly-${{ github.sha }}
path: |
release/*.zip
release/*Setup.exe
if-no-files-found: error
retention-days: 7