Replace path to application icon #147
This file contains 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: 'Build launcher' | |
on: | |
push: | |
branches: | |
- '**' | |
paths: | |
- '.github/workflows/**' | |
- 'src/**' | |
- '*.sln' | |
- '*.config' | |
- '*.props' | |
- '*.targets' | |
pull_request: | |
branches: | |
- '**' | |
paths: | |
- '.github/workflows/**' | |
- 'src/**' | |
- '*.sln' | |
- '*.config' | |
- '*.props' | |
- '*.targets' | |
defaults: | |
run: | |
shell: pwsh | |
jobs: | |
build-launcher: | |
name: 'Build launcher' | |
strategy: | |
matrix: | |
system: | |
- windows-2022 | |
config: | |
- Debug | |
- Release | |
framework: | |
- net8.0 | |
runs-on: ${{ matrix.system }} | |
env: | |
LauncherProject: src\ImeSense.Launchers.Belarus.Desktop\ImeSense.Launchers.Belarus.Desktop.csproj | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: Launcher-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
restore-keys: | | |
Launcher-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
Launcher-NuGet- | |
path: | | |
~/.nuget/packages | |
- name: Restore dependencies | |
run: | | |
dotnet restore $env:LauncherProject ` | |
--locked-mode | |
- name: Build launcher | |
run: | | |
dotnet build $env:LauncherProject ` | |
--configuration ${{ matrix.config }} ` | |
--no-restore | |
- name: Upload launcher | |
uses: actions/upload-artifact@v4 | |
with: | |
name: launcher-${{ matrix.framework }}-${{ matrix.config }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/ | |
build-updater: | |
name: 'Build updater' | |
strategy: | |
matrix: | |
system: | |
- windows-2022 | |
config: | |
- Debug | |
- Release | |
framework: | |
- net8.0 | |
runs-on: ${{ matrix.system }} | |
env: | |
UpdaterProject: src\ImeSense.Launchers.Belarus.Updater\ImeSense.Launchers.Belarus.Updater.csproj | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: Updater-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
restore-keys: | | |
Updater-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
Updater-NuGet- | |
path: | | |
~/.nuget/packages | |
- name: Restore dependencies | |
run: | | |
dotnet restore $env:UpdaterProject ` | |
--locked-mode | |
- name: Build updater | |
run: | | |
dotnet build $env:UpdaterProject ` | |
--configuration ${{ matrix.config }} ` | |
--no-restore | |
- name: Upload updater | |
uses: actions/upload-artifact@v4 | |
with: | |
name: updater-${{ matrix.framework }}-${{ matrix.config }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/ | |
publish-launcher: | |
name: 'Publish launcher' | |
needs: build-launcher | |
strategy: | |
matrix: | |
system: | |
- windows-2022 | |
config: | |
- Release | |
runtime: | |
- win-x64 | |
framework: | |
- net8.0 | |
runs-on: ${{ matrix.system }} | |
env: | |
LauncherProject: src\ImeSense.Launchers.Belarus.Desktop\ImeSense.Launchers.Belarus.Desktop.csproj | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: Launcher-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
restore-keys: | | |
Launcher-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
Launcher-NuGet- | |
path: | | |
~/.nuget/packages | |
- name: Publish launcher | |
run: | | |
dotnet publish $env:LauncherProject ` | |
--configuration ${{ matrix.config }} ` | |
--runtime ${{ matrix.runtime }} ` | |
--self-contained true ` | |
-p:PublishAot=true ` | |
-p:InvariantGlobalization=false ` | |
-p:IsAotCompatible=true ` | |
-p:DebugSymbols=false ` | |
-p:DebugType=None | |
- name: Upload launcher | |
uses: actions/upload-artifact@v4 | |
with: | |
name: launcher-${{ matrix.framework }}-${{ matrix.runtime }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/${{ matrix.runtime }}/publish/ | |
publish-updater: | |
name: 'Publish updater' | |
needs: build-updater | |
strategy: | |
matrix: | |
system: | |
- windows-2022 | |
config: | |
- Release | |
runtime: | |
- win-x64 | |
framework: | |
- net8.0 | |
runs-on: ${{ matrix.system }} | |
env: | |
UpdaterProject: src\ImeSense.Launchers.Belarus.Updater\ImeSense.Launchers.Belarus.Updater.csproj | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: Updater-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
restore-keys: | | |
Updater-NuGet-${{ hashFiles('**/packages.lock.json') }} | |
Updater-NuGet- | |
path: | | |
~/.nuget/packages | |
- name: Publish updater | |
run: | | |
dotnet publish $env:UpdaterProject ` | |
--configuration ${{ matrix.config }} ` | |
--runtime ${{ matrix.runtime }} ` | |
--self-contained true ` | |
-p:PublishAot=true ` | |
-p:InvariantGlobalization=false ` | |
-p:IsAotCompatible=true ` | |
-p:DebugSymbols=false ` | |
-p:DebugType=None | |
- name: Upload updater | |
uses: actions/upload-artifact@v4 | |
with: | |
name: updater-${{ matrix.framework }}-${{ matrix.runtime }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/${{ matrix.runtime }}/publish/ | |
pack-installer: | |
name: 'Pack installer' | |
needs: | |
- publish-launcher | |
- publish-updater | |
strategy: | |
matrix: | |
system: | |
- windows-2022 | |
config: | |
- Release | |
runtime: | |
- win-x64 | |
framework: | |
- net8.0 | |
runs-on: ${{ matrix.system }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get launcher | |
uses: actions/download-artifact@v4 | |
with: | |
name: launcher-${{ matrix.framework }}-${{ matrix.runtime }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/${{ matrix.runtime }}/publish/ | |
- name: Get updater | |
uses: actions/download-artifact@v4 | |
with: | |
name: updater-${{ matrix.framework }}-${{ matrix.runtime }}-${{ github.sha }} | |
path: bin/${{ matrix.config }}/${{ matrix.runtime }}/publish/ | |
- name: Publish installer | |
shell: cmd | |
run: | | |
"%ProgramFiles(x86)%\Inno Setup 6\iscc.exe" src\ImeSense.Launchers.Belarus.Setup\Setup.iss | |
- name: Upload installer | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installer-${{ matrix.runtime }}-${{ github.sha }} | |
path: bin/SBLauncherInstaller.exe |