Update the theme instantly, without the need to restart the app #131
This file contains hidden or 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
| # ------------------------------------------------------------------------------ | |
| # <auto-generated> | |
| # | |
| # This code was generated. | |
| # | |
| # - To turn off auto-generation set: | |
| # | |
| # [MultipleGitHubActions (AutoGenerate = false)] | |
| # | |
| # - To trigger manual generation invoke: | |
| # | |
| # nuke --generate-configuration GitHubActions_build --host GitHubActions | |
| # | |
| # </auto-generated> | |
| # ------------------------------------------------------------------------------ | |
| name: Build Keyboard Switch | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| build-zip: | |
| name: Build Zip Archive for Windows | |
| runs-on: windows-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateZipArchive' | |
| run: ./build.cmd CreateZipArchive | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| OutputFileSuffix: win | |
| - name: 'Publish: zip' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: zip-${{ matrix.platform }} | |
| path: artifacts/*.zip | |
| build-msi: | |
| name: Build Windows Installer | |
| runs-on: windows-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateWindowsInstaller' | |
| run: ./build.cmd CreateWindowsInstaller | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| OutputFileSuffix: win | |
| - name: 'Publish: msi' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: msi-${{ matrix.platform }} | |
| path: artifacts/*.msi | |
| build-pkg: | |
| name: Build macOS Package | |
| runs-on: macos-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateMacOSPackage' | |
| run: ./build.cmd CreateMacOSPackage | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| AppleId: ${{ secrets.APPLE_ID }} | |
| AppleTeamId: ${{ secrets.APPLE_TEAM_ID }} | |
| AppleApplicationCertificate: ${{ secrets.APPLE_APPLICATION_CERTIFICATE }} | |
| AppleApplicationCertificatePassword: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_PASSWORD }} | |
| AppleApplicationCertificateValue: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_VALUE }} | |
| AppleInstallerCertificate: ${{ secrets.APPLE_INSTALLER_CERTIFICATE }} | |
| AppleInstallerCertificatePassword: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }} | |
| AppleInstallerCertificateValue: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_VALUE }} | |
| KeychainPassword: ${{ secrets.KEYCHAIN_PASSWORD }} | |
| NotarizationPassword: ${{ secrets.NOTARIZATION_PASSWORD }} | |
| - name: 'Publish: pkg' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: pkg-${{ matrix.platform }} | |
| path: artifacts/*.pkg | |
| build-uninstaller-pkg: | |
| name: Build macOS Uninstaller Package | |
| runs-on: macos-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateMacOSUninstallerPackage' | |
| run: ./build.cmd CreateMacOSUninstallerPackage | |
| env: | |
| AppleId: ${{ secrets.APPLE_ID }} | |
| AppleTeamId: ${{ secrets.APPLE_TEAM_ID }} | |
| AppleApplicationCertificate: ${{ secrets.APPLE_APPLICATION_CERTIFICATE }} | |
| AppleApplicationCertificatePassword: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_PASSWORD }} | |
| AppleApplicationCertificateValue: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_VALUE }} | |
| AppleInstallerCertificate: ${{ secrets.APPLE_INSTALLER_CERTIFICATE }} | |
| AppleInstallerCertificatePassword: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }} | |
| AppleInstallerCertificateValue: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_VALUE }} | |
| KeychainPassword: ${{ secrets.KEYCHAIN_PASSWORD }} | |
| NotarizationPassword: ${{ secrets.NOTARIZATION_PASSWORD }} | |
| - name: 'Publish: pkg' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: pkg-uninstaller | |
| path: artifacts/*.pkg | |
| build-tar: | |
| name: Build Tar Archive for Linux | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateTarArchive' | |
| run: ./build.cmd CreateTarArchive | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| - name: 'Publish: tar.gz' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: tar.gz-${{ matrix.platform }} | |
| path: artifacts/*.tar.gz | |
| build-deb: | |
| name: Build Debian Package | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateDebianPackage' | |
| run: ./build.cmd CreateDebianPackage | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| - name: 'Publish: deb' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deb-${{ matrix.platform }} | |
| path: artifacts/*.deb | |
| build-rpm: | |
| name: Build RPM Package | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ x64, arm64 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: 'Cache: .nuke/temp, ~/.nuget/packages' | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .nuke/temp | |
| ~/.nuget/packages | |
| key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} | |
| - name: 'Run: CreateRpmPackage' | |
| run: ./build.cmd CreateRpmPackage | |
| env: | |
| NukePlatform: ${{ matrix.platform }} | |
| - name: 'Publish: rpm' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: rpm-${{ matrix.platform }} | |
| path: artifacts/*.rpm |