name: Podcast Hub CICD on: push: branches: [ main ] paths: - 'src/Services/ListenTogether/**' - 'deploy/Services/hub.bicep' - '.github/workflows/podcast-hub.yml' pull_request: branches: [ main ] paths: - 'src/Services/ListenTogether/**' - '.github/workflows/podcast-hub.yml' workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: '7.0.x' - name: Build run: dotnet build --configuration Release src/Services/ListenTogether/ListenTogether.Hub - name: Publish run: dotnet publish --configuration Release src/Services/ListenTogether/ListenTogether.Hub --output hub - uses: actions/upload-artifact@v3 with: name: drop path: hub deployStaging: name: 'Deploy PR to Staging environment' needs: build if: "!contains(github.ref, 'refs/heads/main')" uses: ./.github/workflows/template-hub.yml concurrency: group: staging-hub cancel-in-progress: true secrets: inherit with: environment: staging deployProd: name: 'Deploy main branch commit to Production environment' needs: build if: contains(github.ref, 'refs/heads/main') uses: ./.github/workflows/template-hub.yml concurrency: group: prod-hub cancel-in-progress: true secrets: inherit with: environment: prod