Skip to content

fix(release): keep beta planner probe optional (2026.6.16.1-2A65) #4

fix(release): keep beta planner probe optional (2026.6.16.1-2A65)

fix(release): keep beta planner probe optional (2026.6.16.1-2A65) #4

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths-ignore:
- '**.md'
- 'LICENSE'
- '.gitignore'
- '.gitattributes'
- '.github/release-template/**'
- '.github/release-extras/**'
pull_request:
branches: [main]
paths-ignore:
- '**.md'
- 'LICENSE'
- '.gitignore'
- '.gitattributes'
- '.github/release-template/**'
- '.github/release-extras/**'
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
lint:
name: lint (changed)
runs-on: windows-2025-vs2026
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v6
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-lint-${{ runner.os }}-${{ hashFiles('**/*.csproj', '**/packages.lock.json') }}
restore-keys: |
nuget-lint-${{ runner.os }}-
- name: Run changed lint check
shell: pwsh
run: |
$base = '${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}'
if ([string]::IsNullOrWhiteSpace($base) -or $base -match '^0+$') {
$base = 'origin/main'
}
.\lint.ps1 -Check -ChangedOnly -ChangedBase $base
build:
name: build, tests, and publish smoke
runs-on: windows-2025-vs2026
timeout-minutes: 25
steps:
- name: Checkout
uses: actions/checkout@v6
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-${{ runner.os }}-${{ hashFiles('**/*.csproj', '**/packages.lock.json') }}
restore-keys: |
nuget-${{ runner.os }}-
- name: Validate workflow scripts
shell: pwsh
run: |
./.github/scripts/Test-WorkflowSyntax.ps1
./.github/scripts/Test-UpdateChangelog.ps1
./.github/scripts/Test-GenerateReleaseNotes.ps1
./.github/scripts/Test-ReleaseVersionSequence.ps1
./.github/scripts/Test-NightlyBetaPlan.ps1
- name: Restore
run: dotnet restore VRCInventoryManager.slnx
- name: Build
run: dotnet build VRCInventoryManager.slnx --configuration Release --no-restore
- name: Run tests
run: dotnet run --project tests/VRCInventoryManager.Tests/VRCInventoryManager.Tests.csproj --configuration Release --no-build
- name: Publish app
shell: pwsh
run: |
dotnet publish src/VRCInventoryManager/VRCInventoryManager.csproj `
--configuration Release `
--runtime win-x64 `
--self-contained true `
--output stage/app `
-p:PublishSingleFile=true `
-p:EnableCompressionInSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true `
-p:PublishReadyToRun=false `
-p:DebugType=None `
-p:DebugSymbols=false
if ($LASTEXITCODE -ne 0) { throw "dotnet publish failed with exit $LASTEXITCODE" }
$files = @(Get-ChildItem stage/app -File)
if ($files.Count -ne 1 -or $files[0].Name -ne 'VRCInventoryManager.exe') {
throw 'Publish output must contain exactly VRCInventoryManager.exe.'
}
- name: Upload app artifact
uses: actions/upload-artifact@v7
with:
name: VRCInventoryManager-${{ github.sha }}
path: stage/app
if-no-files-found: error
retention-days: 14