# .github/workflows/copilot-setup-steps.yml # # The cloud coding agent runs in an ephemeral GitHub Actions environment. It can # only run the tests, linters and builds that THIS file installs. Without it the # agent writes plausible code it physically cannot run, then opens the PR anyway. # # Rules: the job MUST be named `copilot-setup-steps`; keep it fast (it runs before # every delegated task); install tools, restore dependencies, seed fixtures — and # nothing that needs a secret the agent should not have. Verify it by reading the # session log of a delegated task: the setup steps appear at the top. name: Copilot Setup Steps on: workflow_dispatch: # lets you run it by hand to check it works push: paths: - .github/workflows/copilot-setup-steps.yml jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v4 # --- pick the blocks that match the repository; delete the rest --- # .NET - uses: actions/setup-dotnet@v4 with: dotnet-version: 9.0.x - run: dotnet restore # Node # - uses: actions/setup-node@v4 # with: # node-version: 22 # cache: npm # - run: npm ci # Python # - uses: astral-sh/setup-uv@v5 # - run: uv sync --frozen # Anything the test suite needs that is not in the lockfile: # a local database, a fixture download, an environment variable. # - run: docker compose -f test/compose.yml up -d # - run: ./scripts/seed-fixtures.sh