# This workflow has three examples (one for IIS, two using containers) # [Option A] Typical IIS build & publish # [Option B] DOCKER FILE BUILD - publishes the image to ghcr.io (GitHub container registry) # [Option C] .NET SDK CONTAINER BUILD - publishes the image to Docker Hub name: Blazor (with Reporting) on: workflow_dispatch: push: branches: - main - "blazor/*" paths: - 'src/Blazor/**/*' - '.github/workflows/main_build-blazor.yml' permissions: contents: read packages: write # to publish to GitHub container registry id-token: write # # JWT for Akeyless auth env: CONFIGURATION: Release BLAZOR_PROJ_PATH: src/Blazor/MyBlazorApp/MyBlazorApp.csproj TEST_PROJ_PATH: src/Blazor/MyBlazorApp.Tests/MyBlazorApp.Tests.csproj NUGET_CONFIG_PATH: src/NuGet.Config DOTNET_VERSION: "10.0.x" jobs: build_windows: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # Using AKeyless for secrets in this demo - name: Fetch secrets from AKeyless id: akeyless uses: LanceMcCarthy/akeyless-action@v5 with: access-id: 'p-4blpeo5zdfeaom' static-secrets: | { "/progress/TELERIK_NUGET_KEY":"TELERIK_NUGET_KEY", "/progress/TELERIK_LICENSE":"TELERIK_LICENSE_KEY" } export-secrets-to-outputs: true export-secrets-to-environment: false - name: Setup .NET Core SDK uses: actions/setup-dotnet@v4 with: dotnet-version: ${{env.DOTNET_VERSION}} - name: Restore NuGet Packages run: | dotnet restore ${{env.BLAZOR_PROJ_PATH}} --configfile ${{env.NUGET_CONFIG_PATH}} dotnet restore ${{env.TEST_PROJ_PATH}} --configfile ${{env.NUGET_CONFIG_PATH}} env: TELERIK_USERNAME: "api-key" TELERIK_PASSWORD: ${{steps.akeyless.outputs.TELERIK_NUGET_KEY}} - name: Build Test Project run: dotnet build ${{env.TEST_PROJ_PATH}} -c ${{env.CONFIGURATION}} --no-restore env: TELERIK_LICENSE: ${{steps.akeyless.outputs.TELERIK_LICENSE_KEY}} build_linux: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # Using AKeyless for secrets in this demo - name: Fetch secrets from AKeyless id: akeyless uses: LanceMcCarthy/akeyless-action@v5 with: access-id: 'p-4blpeo5zdfeaom' static-secrets: | { "/progress/TELERIK_NUGET_KEY":"TELERIK_NUGET_KEY", "/progress/TELERIK_LICENSE":"TELERIK_LICENSE_KEY" } export-secrets-to-outputs: true export-secrets-to-environment: false - name: Setup .NET Core SDK uses: actions/setup-dotnet@v4 with: dotnet-version: ${{env.DOTNET_VERSION}} - name: Restore NuGet Packages run: | dotnet restore ${{env.BLAZOR_PROJ_PATH}} --configfile ${{env.NUGET_CONFIG_PATH}} dotnet restore ${{env.TEST_PROJ_PATH}} --configfile ${{env.NUGET_CONFIG_PATH}} env: TELERIK_USERNAME: "api-key" TELERIK_PASSWORD: ${{steps.akeyless.outputs.TELERIK_NUGET_KEY}} - name: Build Test Project run: dotnet build ${{env.TEST_PROJ_PATH}} -c ${{env.CONFIGURATION}} --no-restore env: TELERIK_LICENSE: ${{steps.akeyless.outputs.TELERIK_LICENSE_KEY}}