Add the simple theme #129
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 |