Update copilot-setup-steps.yml workflow with proper triggers and enha… #1
  
    
      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
    
  
  
    
  | name: Setup GitHub Copilot Agent Environment | |
| # This workflow configures the environment for GitHub Copilot agents | |
| # It reuses configuration from the main Build-Test-And-Deploy workflow | |
| # to ensure consistency and reduce duplication | |
| on: | |
| push: | |
| paths: | |
| - '.github/workflows/copilot-setup-steps.yml' | |
| pull_request: | |
| paths: | |
| - '.github/workflows/copilot-setup-steps.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| copilot-setup-steps: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up .NET Core | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| global-json-file: global.json | |
| - name: Set up dependency caching for faster builds | |
| uses: actions/cache@v4 | |
| id: nuget-cache | |
| with: | |
| path: | | |
| ~/.nuget/packages | |
| ${{ github.workspace }}/**/obj/project.assets.json | |
| key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | |
| ${{ runner.os }}-nuget- | |
| - name: Restore with dotnet | |
| run: dotnet restore /p:AccessToNugetFeed=false | |
| - name: Build with dotnet | |
| run: dotnet build -p:ContinuousIntegrationBuild=True -p:ReleaseDateAttribute=True --configuration Release --no-restore /p:AccessToNugetFeed=false | |
| - name: Run .NET Tests | |
| run: dotnet test --no-build --configuration Release | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Set up Node.js for frontend development | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: '**/package-lock.json' | |
| - name: Install additional development tools | |
| run: | | |
| # Install common development tools that Copilot agents might need | |
| echo "Installing additional tools for Copilot agent environment..." | |
| # Install EF Core tools globally for database migrations | |
| dotnet tool install --global dotnet-ef | |
| # Install ASP.NET Core code generation tools | |
| dotnet tool install --global dotnet-aspnet-codegenerator | |
| # Install NuGet CLI | |
| dotnet tool install --global nuget | |
| # Verify installations | |
| echo "Installed tools:" | |
| dotnet tool list --global | |
| # Verify .NET SDK info | |
| dotnet --info | |
| # Verify Docker is available | |
| docker --version | |
| # Verify Node.js and npm | |
| node --version | |
| npm --version | |
| echo "Copilot agent environment setup complete!" | |
| - name: Create development environment summary | |
| run: | | |
| echo "# Copilot Agent Environment Summary" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "## Environment Details" >> $GITHUB_STEP_SUMMARY | |
| echo "- **OS**: $(uname -a)" >> $GITHUB_STEP_SUMMARY | |
| echo "- **.NET SDK**: $(dotnet --version)" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Node.js**: $(node --version)" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Docker**: $(docker --version)" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "## Global Tools Installed" >> $GITHUB_STEP_SUMMARY | |
| dotnet tool list --global | while read line; do | |
| echo "- $line" >> $GITHUB_STEP_SUMMARY | |
| done | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "## Project Information" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Solution**: EssentialCSharp.Web.sln" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Target Framework**: .NET 9.0" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Technologies**: ASP.NET Core, Entity Framework Core, Semantic Kernel" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "✅ Environment is ready for GitHub Copilot agents!" >> $GITHUB_STEP_SUMMARY |