Skip to content

Add concurrency-group support to safe_outputs job#18993

Merged
pelikhan merged 2 commits intomainfrom
copilot/add-concurrency-group-safe-outputs
Mar 1, 2026
Merged

Add concurrency-group support to safe_outputs job#18993
pelikhan merged 2 commits intomainfrom
copilot/add-concurrency-group-safe-outputs

Conversation

Copy link
Contributor

Copilot AI commented Mar 1, 2026

Adds a concurrency-group field to safe-outputs frontmatter, allowing users to control concurrency on the compiled safe_outputs job. When set, the job gets a concurrency block with cancel-in-progress: false (no-cancel semantics).

Changes

  • SafeOutputsConfig — new ConcurrencyGroup string field
  • safe_outputs_config.go — parses concurrency-group from frontmatter
  • compiler_safe_outputs_job.go — generates and applies the concurrency block to the consolidated safe_outputs job
  • compiler.go — validates the group expression via the existing validateConcurrencyGroupExpression (same as engine-level concurrency)
  • main_workflow_schema.json — adds concurrency-group property to the safe-outputs schema

Example

safe-outputs:
  concurrency-group: "safe-outputs-${{ github.repository }}"
  create-issue: {}

Compiles to:

safe_outputs:
  concurrency:
    group: "safe-outputs-${{ github.repository }}"
    cancel-in-progress: false

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE 64/bin/go /tmp/go-build365/tmp/gh-aw/aw-feature-branch.patch -tes�� -test.paniconexit0 -test.v=true /usr/bin/git -test.timeout=10git -test.run=^Test -test.short=true--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE /opt/hostedtoolc--write git rev-�� ath ../../../.pr**/*.json go /usr/bin/git -json GO111MODULE /opt/hostedtoolc"prettier" --write '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE ache/go/1.25.0/x--write git rev-�� ath ../../../.pr**/*.json ache/go/1.25.0/x--ignore-path /usr/bin/git -json GO111MODULE /opt/hostedtoolc"prettier" --write '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha k/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md go ache/node/24.13.1/x64/bin/node -json 4cb3d98f53d26c62rev-parse 64/bin/go ache/node/24.13.1/x64/bin/node 6209�� ts.result -test.v=true /usr/bin/git -test.timeout=10git -test.run=^Test -test.short=true--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /tmp/gh-aw-test-runs/20260301-054849-34645/test-649658760 config /usr/bin/git remote.origin.urgit git repository(owne--show-toplevel git conf�� user.name Test User (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /opt/hostedtoolcache/node/24.13.1/x64/bin/node --show-toplevel git /usr/bin/git node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/ai-moderator.md git /usr/bin/git --show-toplevel infocmp /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 8195433/b412/vet.cfg GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha 4849-34645/test-877033492 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha runs/20260301-055156-38850/test-3812548715/.github/workflows git /usr/bin/git l x_amd64/vet /usr/bin/git git rev-�� k/gh-aw/gh-aw git 1/x64/bin/node --show-toplevel node /usr/bin/git 1/x64/bin/node (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha /tmp/TestHashStability_SameInputSameOutput3696652692/001/stability-test.md sh /usr/bin/git npx prettier --cgit GOPROXY 64/bin/go git rev-�� --show-toplevel node /usr/bin/git ub/workflows scripts/**/*.js 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git til.go o ache/go/1.25.0/x--show-toplevel git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha -v go /usr/bin/git heck '**/*.cjs' git GO111MODULE 64/bin/go git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse ache/node/24.13.1/x64/bin/node -json GO111MODULE 64/bin/go node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha se 8195433/b113/vet.cfg /usr/bin/git -p main -lang=go1.25 /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE x_amd64/compile git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha g/stringutil/ansGOINSECURE g/stringutil/ideGOMOD 64/bin/go GOINSECURE erignore GOMODCACHE ache/go/1.25.0/xGO111MODULE env 0616033/b386/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha db83e5df68791969GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD erignore ache/go/1.25.0/xGO111MODULE env 0616033/b399/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/pars-atomic GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha s/test.md --json /usr/bin/git --repo owner/repo 64/bin/go git rev-�� --show-toplevel go ache/node/24.13.1/x64/bin/node -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha bin git /opt/hostedtoolcache/node/24.13.1/x64/bin/node --show-toplevel git /usr/bin/git node /tmp�� /tmp/TestHashConsistency_GoAndJavaScript2898426120/001/test-frontmatter-with-arrays.md git /usr/bin/git '**/*.ts' '**/*.git git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git 1/x64/bin/node --show-toplevel /usr/bin/gh /usr/bin/git 1/x64/bin/node /tmp�� /tmp/TestHashStability_SameInputSameOutput1472018613/001/stability-test.md git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha runs/20260301-054447-27675/test-230637513 ^remote\..*\.gh-resolved$ /usr/bin/git heck '**/*.cjs' git GO111MODULE 64/bin/go git rev-�� --show-toplevel go ache/node/24.13.1/x64/bin/node -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -bool -buildtags ache/node/24.13.1/x64/bin/node -errorsas -ifaceassert -nilfunc ache/node/24.13.1/x64/bin/node 2556�� y config /usr/bin/git remote.origin.urgit git bin/node git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha /tmp/go-build1224147447/b405/_pkg_.a -trimpath /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -p main -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -o /tmp/go-build1224147447/b422/workflow.test -importcfg /usr/bin/git -s -w -buildmode=exe git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha artifacts-summary.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha k/gh-aw/gh-aw/.github/workflows git k/_temp/ghcca-node/node/bin/bash l NVNgnGPLEQds7/eMrev-parse /prettier git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse DiscussionsEnabl--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel /tmp/go-build1943257162/b430/workflow.test (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 7KRlb0f/T36gUPQZXFjOiSQ6baL5 (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git x_amd64/vet --show-toplevel go /usr/bin/git x_amd64/vet --no�� --noprofile git /opt/hostedtoolcache/go/1.25.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse ed } } node (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 ache/node/24.13.1/x64/bin/node /usr/bin/git y config /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/compile --get remote.origin.urrev-parse /usr/bin/git 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE Zm/GFtmVa307QDDNuUCuh0B/7zrZo2ypVmaEewr479zV (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git x_amd64/compile --show-toplevel go ed } } x_amd64/compile --no�� ithub/workflows git /home/REDACTED/work/gh-aw/node_modules/.bin/node l go ed } } node (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/git --show-toplevel gh ache/node/24.13.--git-dir git rev-�� 01/main.md ache/node/24.13.1/x64/bin/node /usr/bin/git /usr/bin/git git /usr/lib/git-cor--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git x_amd64/asm --show-toplevel go /usr/bin/git x_amd64/asm --no�� ithub/workflows git er: String!, $name: String!) { repository(owner: $owner, name:-f --show-toplevel go /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 node /usr/bin/git /tmp/TestHashCongit infocmp /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git user.name Test User (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git x_amd64/vet --show-toplevel go /usr/bin/git x_amd64/vet --no�� k/gh-aw/gh-aw/.github/workflows git /opt/hostedtoolcache/node/24.13.1/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 node /usr/bin/git /tmp/TestHashCongit git /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/link --get remote.origin.urrev-parse /usr/bin/git 64/pkg/tool/linux_amd64/link (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git x_amd64/vet --show-toplevel go /usr/bin/git x_amd64/vet --no�� es.md git /bin/sh l go /usr/bin/git /bin/sh (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --get remote.origin.urrev-parse /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/vet /usr/bin/git git /usr/bin/git 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ty-test.md GO111MODULE 64/bin/go Action pins syngit GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git x_amd64/vet --show-toplevel go /usr/bin/git x_amd64/vet fmt 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git /usr/bin/git /tmp/compile-allgit rev-parse /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/compile user.email test@example.cominit /usr/lib/git-core/git 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git x_amd64/link --show-toplevel go ed } } x_amd64/link -c echo "��� Formatting Go code..." git /home/REDACTED/work/_temp/uv-python-dir/node --show-toplevel go /usr/bin/git HU/ASq80aPQFluOQ320KXpn/0WIiyaZiznsVJ1vviRB0 (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 gh /usr/bin/git /repos/actions/ggit --jq /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/vet --show-toplevel git /usr/bin/git 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE WSxS2NRn6qbX env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build45232682/b360/cli.test /tmp/go-build45232682/b360/cli.test -test.testlogfile=/tmp/go-build45232682/b360/testlog.txt -test.paniconexit0 -test.short=true -test.timeout=5m0s --show-toplevel git /usr/bin/git ring1318238549/0node git ache/go/1.25.0/x64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha h ../../../.prettierignore go /usr/bin/git runs/20260301-05node GO111MODULE 8195433/b361/vet--write git rev-�� w/js/**/*.json' --ignore-path go /usr/bin/git -json GO111MODULE 1/x64/bin/node git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 2587947724/.github/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha ithub/workflows git /opt/hostedtoolcache/go/1.25.0/x64/bin/bash --show-toplevel go /usr/bin/git bash --no�� ithub/workflows git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha ch /usr/bin/unpigz ache/node/24.13.-lang=go1.25 -c git /usr/bin/gh git ache�� --show-toplevel nly /usr/bin/git graphql -f /usr/bin/gh git (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE ache/node/24.13./home/REDACTED/work/gh-aw/gh-aw/.github/workflows git /pre�� --show-toplevel git /usr/bin/git sistency_GoAndJagit log /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ithub/workflows git x_amd64/link --show-toplevel go /usr/bin/git x_amd64/link --no�� --noprofile git er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--show-toplevel --show-toplevel 64/pkg/tool/linu/tmp/test-expr-1874564215.js /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel ache/go/1.25.0/x-w /usr/bin/git /home/REDACTED/worgit rev-parse /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh /usr/bin/git graphql (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel go /usr/bin/git node /opt�� 1045413236/.github/workflows --write me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } **/*.ts **/*.json --ignore-path node (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion /tmp/TestHashCongit l /usr/bin/gh grep ^Fro�� /tmp/gh-aw/aw-master.patch gh /usr/bin/git /repos/actions/ggit --jq DiscussionsEnabl--show-toplevel git (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go m/_n�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE erignore env ript formatting GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 1/x64/bin/sh user.name Test User /usr/bin/git git rev-�� */*.ts' '**/*.json' --ignore-pat-f git r: $owner, name: $name) { hasDiscussionsEnabled } } GOMODCACHE 0616033/b407/imp-V=full /usr/bin/git git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build3658195433/b380/cli.test /tmp/go-build3658195433/b380/cli.test -test.testlogfile=/tmp/go-build3658195433/b380/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go k/gh�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore go (http block)
    • Triggering command: /tmp/go-build1943257162/b380/cli.test /tmp/go-build1943257162/b380/cli.test -test.testlogfile=/tmp/go-build1943257162/b380/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true ts.result -test.v=true /usr/bin/git git 1/x6�� --show-toplevel git /usr/bin/git --show-toplevel sh /usr/bin/git git (http block)
    • Triggering command: /tmp/go-build1224147447/b001/cli.test /tmp/go-build1224147447/b001/cli.test -test.testlogfile=/tmp/go-build1224147447/b001/testlog.txt -test.paniconexit0 -test.short=true -test.timeout=5m0s --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git k/gh-aw/gh-aw/.ggit git /usr/bin/docker git rev-�� --show-toplevel docker /usr/bin/git mcp/chroma git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name -dirty" -o gh-aw ./cmd/gh-aw git /usr/bin/git test.txt resolved$ /opt/hostedtoolcxterm-color git rev-�� */*.ts' '**/*.json' --ignore-path ../../../.pret.prettierignore node /usr/bin/git /tmp/TestHashConbash 0616033/b395/imp--norc /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --porcelain git er: String!, $na/repos/actions/checkout/git/ref/tags/v5 git rev-�� --show-toplevel git /usr/bin/git 4849-34645/test-git config .cfg git (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch --show-toplevel git x_amd64/vet (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Add support to set a concurrency group in the safe_outputs job.

safe_outputs:
concurrency-group: ...

When set configure the safe-outputs job concurrency, no cancel behavior.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for concurrency group in safe_outputs job Add concurrency-group support to safe_outputs job Mar 1, 2026
@pelikhan pelikhan marked this pull request as ready for review March 1, 2026 06:05
Copilot AI review requested due to automatic review settings March 1, 2026 06:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for configuring a job-level GitHub Actions concurrency block on the compiled consolidated safe_outputs job via a new safe-outputs.concurrency-group frontmatter field (with cancel-in-progress: false).

Changes:

  • Extend SafeOutputsConfig with a ConcurrencyGroup field and parse concurrency-group from safe-outputs frontmatter.
  • Validate safe-outputs.concurrency-group using the existing validateConcurrencyGroupExpression.
  • Emit a job-level concurrency block on the generated consolidated safe_outputs job and add unit coverage for this behavior.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/workflow/safe_outputs_config.go Parses safe-outputs.concurrency-group from frontmatter into SafeOutputsConfig.
pkg/workflow/compiler_types.go Adds ConcurrencyGroup to SafeOutputsConfig.
pkg/workflow/compiler_safe_outputs_job.go Renders concurrency YAML onto the consolidated safe_outputs job when configured.
pkg/workflow/compiler.go Validates the configured concurrency group expression for safe-outputs.
pkg/parser/schemas/main_workflow_schema.json Adds concurrency-group to the safe-outputs JSON schema.
pkg/workflow/compiler_safe_outputs_job_test.go Adds unit test coverage for the new job concurrency block rendering.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pelikhan pelikhan merged commit ec3c9db into main Mar 1, 2026
110 checks passed
@pelikhan pelikhan deleted the copilot/add-concurrency-group-safe-outputs branch March 1, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants