name: Aspire Deploy CSharp on: workflow_dispatch: push: branches: [live] permissions: id-token: write contents: read jobs: deploy: runs-on: ubuntu-latest name: Deploy CSharp AppHost with Aspire environment: name: production env: DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true steps: - name: Checkout # actions/checkout@v4 uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 - name: Setup .NET # actions/setup-dotnet@v4 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 with: dotnet-version: 10.0.x dotnet-quality: preview - name: Install Aspire CLI run: | curl -sSL https://aspire.dev/install.sh | bash echo "$HOME/.aspire/bin" >> "$GITHUB_PATH" - name: Azure Login # azure/login@v2 uses: azure/login@1384c340ab2dda50fed2bee3041d1d87018aa5e8 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Deploy with Aspire run: aspire deploy --apphost ./src/AppHost/AppHost.csproj --environment Production env: Azure__SubscriptionId: ${{ secrets.AZURE_SUBSCRIPTION_ID }} Azure__Location: ${{ vars.AZURE_LOCATION || 'eastus' }} Azure__ResourceGroup: ${{ vars.AZURE_RESOURCE_GROUP }} Parameters__admin_password: ${{ secrets.ADMIN_PASSWORD }}