Bump Microsoft.Extensions.Hosting from 10.0.0 to 10.0.1 #356
Workflow file for this run
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
| # | |
| # Builds the application and uploads artifacts | |
| # | |
| name: Build Application | |
| on: | |
| push: | |
| paths: | |
| - '.github/workflows/build.yml' | |
| - 'build/**' | |
| - 'contrib/**' | |
| - 'src/**' | |
| - 'docker/**' | |
| - 'build.sh' | |
| pull_request: | |
| paths: | |
| - '.github/workflows/build.yml' | |
| - 'build/**' | |
| - 'contrib/**' | |
| - 'src/**' | |
| - 'docker/**' | |
| - 'build.sh' | |
| env: | |
| DOTNET_NOLOGO: true | |
| jobs: | |
| app-build: | |
| name: Application Build | |
| runs-on: ${{ matrix.os }} | |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
| permissions: | |
| actions: read | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| architecture: [x64, arm64] | |
| os: [windows-latest, macos-latest, ubuntu-latest, ubuntu-24.04-arm] | |
| include: | |
| - os: windows-latest | |
| id: win | |
| script: .\build.ps1 | |
| - os: macos-latest | |
| id: macos | |
| script: ./build.sh | |
| - os: ubuntu-latest | |
| id: linux | |
| script: ./build.sh | |
| - os: ubuntu-24.04-arm | |
| id: linux | |
| script: ./build.sh | |
| exclude: | |
| - os: ubuntu-latest | |
| architecture: arm64 | |
| - os: ubuntu-24.04-arm | |
| architecture: x64 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| submodules: true | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Build libusb | |
| if: matrix.os == 'windows-latest' | |
| run: ${{ matrix.script }} --exclusive --architecture ${{ matrix.architecture }} -t BuildLibusb | |
| - name: Build rtl-sdr | |
| if: matrix.os == 'windows-latest' | |
| run: ${{ matrix.script }} --exclusive --architecture ${{ matrix.architecture }} -t BuildRtlSdr | |
| - name: Build StreamSDR | |
| run: ${{ matrix.script }} --exclusive --architecture ${{ matrix.architecture }} -t BuildStreamSDR | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.id }}-${{ matrix.architecture }} | |
| path: artifacts/${{ matrix.id }}-${{ matrix.architecture }} | |
| if-no-files-found: error | |
| windows-installer-build: | |
| name: Windows Installer Build | |
| needs: app-build | |
| runs-on: windows-latest | |
| permissions: | |
| actions: read | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Download Windows x64 app artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: win-x64 | |
| path: artifacts/win-x64 | |
| - name: Download Windows ARM64 app artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: win-arm64 | |
| path: artifacts/win-arm64 | |
| - name: Create x64 installer MSI | |
| run: ".\\build.ps1 --exclusive -t CreateInstaller" | |
| - name: Create ARM64 installer MSI | |
| run: ".\\build.ps1 --exclusive -t CreateInstaller --architecture arm64" | |
| - name: Upload x64 installer artifact | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: win-x64-installer | |
| path: artifacts/win-x64-installer | |
| if-no-files-found: error | |
| - name: Upload ARM64 installer artifact | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: win-arm64-installer | |
| path: artifacts/win-arm64-installer | |
| if-no-files-found: error | |
| macos-installer-build: | |
| name: macOS Installer Build | |
| needs: app-build | |
| runs-on: macos-latest | |
| permissions: | |
| actions: read | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Add app signing certificates to Keychain | |
| if: github.repository == 'orryverducci/StreamSDR' && github.ref_name == 'main' && github.event_name == 'push' | |
| uses: apple-actions/import-codesign-certs@v6 | |
| with: | |
| p12-file-base64: ${{ secrets.MAC_SIGNING_CERTS }} | |
| p12-password: ${{ secrets.MAC_SIGNING_CERTS_PASSWORD }} | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Download Mac x64 app artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: macos-x64 | |
| path: artifacts/macos-x64 | |
| - name: Download Mac ARM64 app artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: macos-arm64 | |
| path: artifacts/macos-arm64 | |
| - name: Create universal binary | |
| run: "./build.sh --exclusive -t CreateUniversalApp" | |
| - name: Sign StreamSDR | |
| if: github.repository == 'orryverducci/StreamSDR' && github.ref_name == 'main' | |
| env: | |
| MAC_SIGNING_CERT_NAME: ${{ secrets.MAC_SIGNING_CERT_NAME }} | |
| run: "./build.sh --exclusive -t SignApp --appcert \"$MAC_SIGNING_CERT_NAME\"" | |
| - name: Create signed installer package | |
| if: github.repository == 'orryverducci/StreamSDR' && github.ref_name == 'main' | |
| env: | |
| MAC_INSTALLER_CERT_NAME: ${{ secrets.MAC_INSTALLER_CERT_NAME }} | |
| run: "./build.sh --exclusive -t CreateInstaller --installcert \"$MAC_INSTALLER_CERT_NAME\"" | |
| - name: Create unsigned installer package | |
| if: github.repository != 'orryverducci/StreamSDR' || github.ref_name != 'main' | |
| run: "./build.sh --exclusive -t CreateInstaller" | |
| - name: Notarize the installer package | |
| if: github.repository == 'orryverducci/StreamSDR' && github.ref_name == 'main' | |
| env: | |
| APPLE_DEV_TEAM: ${{ secrets.APPLE_DEV_TEAM }} | |
| APPLE_ID: ${{ secrets.APPLE_ID }} | |
| APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
| MAC_INSTALLER_CERT_NAME: ${{ secrets.MAC_INSTALLER_CERT_NAME }} | |
| run: "./build.sh --exclusive -t NotarizeInstaller --installcert \"$MAC_INSTALLER_CERT_NAME\" --appleid \"$APPLE_ID\" --applepassword \"$APPLE_ID_PASSWORD\" --teamid \"$APPLE_DEV_TEAM\"" | |
| - name: Upload installer artifact | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: macos-installer | |
| path: artifacts/macos-installer | |
| if-no-files-found: error | |
| docker-build: | |
| name: Docker Image Build | |
| if: github.repository == 'orryverducci/StreamSDR' && github.ref_name == 'main' && github.event_name == 'push' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| id: buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to the container registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build container image | |
| run: ./build.sh --exclusive -t BuildDockerImage --multiarch true --registry ghcr.io |