From be98fab149f0ebf4b6437ae146b0bc72cb1b2c2e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 03:30:11 +0000 Subject: [PATCH 1/7] Initial plan From 21957b2ff5eab2980095278837710801a337ca13 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 03:35:57 +0000 Subject: [PATCH 2/7] Plan activation condition fix Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 615a51e551e..3fc711d4035 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -49,6 +49,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/optimize-agentic-workflow.md` - `.github/aw/patterns.md` - `.github/aw/pr-reviewer.md` +- `.github/aw/release-workflow.md` - `.github/aw/report.md` - `.github/aw/reuse.md` - `.github/aw/safe-outputs-automation.md` From d95a222342146f4de248b0538673a70f33a0b20a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 03:43:35 +0000 Subject: [PATCH 3/7] Combine custom and label command if conditions Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- pkg/workflow/label_command_test.go | 44 ++++++++++++++++++++++++++++++ pkg/workflow/tools.go | 12 ++++---- 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/pkg/workflow/label_command_test.go b/pkg/workflow/label_command_test.go index 9dbd26b57b1..ab1d4239a24 100644 --- a/pkg/workflow/label_command_test.go +++ b/pkg/workflow/label_command_test.go @@ -309,6 +309,50 @@ Deploy the application because label "deploy" was added. _ = agentJob // presence check is sufficient } +func TestLabelCommandWorkflowCompileCombinesCustomIf(t *testing.T) { + tempDir := t.TempDir() + + workflowContent := `--- +name: Label Command Custom If Test +on: + label_command: + name: state:approved +engine: copilot +if: ${{ github.event.issue.state == 'open' }} +--- + +Run when the state:approved label is added to an open issue. +` + + workflowPath := filepath.Join(tempDir, "label-command-custom-if.md") + err := os.WriteFile(workflowPath, []byte(workflowContent), 0644) + require.NoError(t, err, "failed to write test workflow") + + compiler := NewCompiler() + err = compiler.CompileWorkflow(workflowPath) + require.NoError(t, err, "CompileWorkflow() should not error") + + lockFilePath := stringutil.MarkdownToLockFile(workflowPath) + lockContent, err := os.ReadFile(lockFilePath) + require.NoError(t, err, "failed to read lock file") + + var workflow map[string]any + err = yaml.Unmarshal(lockContent, &workflow) + require.NoError(t, err, "failed to parse lock file as YAML") + + jobs, ok := workflow["jobs"].(map[string]any) + require.True(t, ok, "workflow should have jobs") + + activation, ok := jobs["activation"].(map[string]any) + require.True(t, ok, "workflow should have an activation job") + + activationIf, ok := activation["if"].(string) + require.True(t, ok, "activation job should have an if condition") + assert.Contains(t, activationIf, "needs.pre_activation.outputs.activated == 'true'") + assert.Contains(t, activationIf, "github.event.label.name == 'state:approved'") + assert.Contains(t, activationIf, "github.event.issue.state == 'open'") +} + // TestLabelCommandWorkflowCompileShorthand verifies the "label-command " string shorthand. func TestLabelCommandWorkflowCompileShorthand(t *testing.T) { tempDir := t.TempDir() diff --git a/pkg/workflow/tools.go b/pkg/workflow/tools.go index 7626e0df9fd..b7b55daeecb 100644 --- a/pkg/workflow/tools.go +++ b/pkg/workflow/tools.go @@ -296,15 +296,13 @@ func (c *Compiler) applyLabelCommandTriggerOnSection(data *WorkflowData) error { if err != nil { return fmt.Errorf("failed to build label-command condition: %w", err) } - if data.If == "" { - if data.LabelCommandDecentralized { - labelConditionTree, err = buildDispatchLabelCommandCondition(data.LabelCommand, data.LabelCommandEvents) - if err != nil { - return fmt.Errorf("failed to build decentralized label-command condition: %w", err) - } + if data.LabelCommandDecentralized { + labelConditionTree, err = buildDispatchLabelCommandCondition(data.LabelCommand, data.LabelCommandEvents) + if err != nil { + return fmt.Errorf("failed to build decentralized label-command condition: %w", err) } - data.If = RenderCondition(labelConditionTree) } + data.If = RenderCondition(BuildConditionTree(data.If, labelConditionTree.Render())) return nil } From bfa4010d0a90bd9718f0bcaf48dfae6641f31e28 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 07:43:48 +0000 Subject: [PATCH 4/7] Plan: address unresolved review feedback Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/workflows/ci-doctor.lock.yml | 8 ++++---- .github/workflows/dev.lock.yml | 12 ++++++------ .github/workflows/necromancer.lock.yml | 9 +++++---- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 6b96bcb9186..2e9eb1222f3 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -95,8 +95,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'ci-doctor' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'ci-doctor') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -2068,8 +2068,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'ci-doctor' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'ci-doctor') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index 64f2c187fac..1b3e6d8c5db 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -99,9 +99,9 @@ jobs: if: > needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'discussion') && fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'dev' || - (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'pull_request')) && (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion'))) + '{}').event_type == 'discussion') && (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'dev') || + !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion')) runs-on: ubuntu-slim permissions: actions: read @@ -1714,9 +1714,9 @@ jobs: if: > (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion') && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'dev' || (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) && - (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion')) + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'dev') || !(fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || + fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/necromancer.lock.yml b/.github/workflows/necromancer.lock.yml index b3c5c3fc4d6..6257768efe3 100644 --- a/.github/workflows/necromancer.lock.yml +++ b/.github/workflows/necromancer.lock.yml @@ -95,8 +95,9 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'necromancer' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'necromancer') || + !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -2016,8 +2017,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'necromancer' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'necromancer') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read From bde56a1236f8f2359c21cb0916c640e6190924f9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 07:59:42 +0000 Subject: [PATCH 5/7] Preserve mixed command/label guards when custom if is set Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- pkg/workflow/label_command_test.go | 46 ++++++++++++++++++++++++++++++ pkg/workflow/tools.go | 21 +++++++------- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/pkg/workflow/label_command_test.go b/pkg/workflow/label_command_test.go index ab1d4239a24..3c12deb9bb3 100644 --- a/pkg/workflow/label_command_test.go +++ b/pkg/workflow/label_command_test.go @@ -353,6 +353,52 @@ Run when the state:approved label is added to an open issue. assert.Contains(t, activationIf, "github.event.issue.state == 'open'") } +func TestSlashAndLabelCommandWorkflowCompileCombinesCustomIf(t *testing.T) { + tempDir := t.TempDir() + + workflowContent := `--- +name: Slash + Label Command Custom If Test +on: + slash_command: triage + label_command: + name: state:approved +engine: copilot +if: ${{ github.event.issue.state == 'open' }} +--- + +Run for /triage comments or state:approved labels on open issues. +` + + workflowPath := filepath.Join(tempDir, "slash-and-label-command-custom-if.md") + err := os.WriteFile(workflowPath, []byte(workflowContent), 0644) + require.NoError(t, err, "failed to write test workflow") + + compiler := NewCompiler() + err = compiler.CompileWorkflow(workflowPath) + require.NoError(t, err, "CompileWorkflow() should not error") + + lockFilePath := stringutil.MarkdownToLockFile(workflowPath) + lockContent, err := os.ReadFile(lockFilePath) + require.NoError(t, err, "failed to read lock file") + + var workflow map[string]any + err = yaml.Unmarshal(lockContent, &workflow) + require.NoError(t, err, "failed to parse lock file as YAML") + + jobs, ok := workflow["jobs"].(map[string]any) + require.True(t, ok, "workflow should have jobs") + + activation, ok := jobs["activation"].(map[string]any) + require.True(t, ok, "workflow should have an activation job") + + activationIf, ok := activation["if"].(string) + require.True(t, ok, "activation job should have an if condition") + assert.Contains(t, activationIf, "needs.pre_activation.outputs.activated == 'true'") + assert.Contains(t, activationIf, "github.event.label.name == 'state:approved'") + assert.Contains(t, activationIf, "startsWith(github.event.comment.body, '/triage") + assert.Contains(t, activationIf, "github.event.issue.state == 'open'") +} + // TestLabelCommandWorkflowCompileShorthand verifies the "label-command " string shorthand. func TestLabelCommandWorkflowCompileShorthand(t *testing.T) { tempDir := t.TempDir() diff --git a/pkg/workflow/tools.go b/pkg/workflow/tools.go index b7b55daeecb..18d6ebbbbaa 100644 --- a/pkg/workflow/tools.go +++ b/pkg/workflow/tools.go @@ -202,24 +202,23 @@ func (c *Compiler) applyCommandTriggerOnSection(data *WorkflowData) error { if err != nil { return fmt.Errorf("failed to build command condition: %w", err) } - if data.If == "" { - if len(data.LabelCommand) > 0 { - labelConditionTree, err := buildLabelCommandCondition(data.LabelCommand, data.LabelCommandEvents, false) - if err != nil { - return fmt.Errorf("failed to build combined label-command condition: %w", err) - } - data.If = RenderCondition(&OrNode{Left: commandConditionTree, Right: labelConditionTree}) - } else { - data.If = RenderCondition(commandConditionTree) + + derivedConditionTree := commandConditionTree + if len(data.LabelCommand) > 0 { + labelConditionTree, err := buildLabelCommandCondition(data.LabelCommand, data.LabelCommandEvents, false) + if err != nil { + return fmt.Errorf("failed to build combined label-command condition: %w", err) } + derivedConditionTree = &OrNode{Left: commandConditionTree, Right: labelConditionTree} } - } else if data.If == "" && len(data.LabelCommand) > 0 { + data.If = RenderCondition(BuildConditionTree(data.If, derivedConditionTree.Render())) + } else if len(data.LabelCommand) > 0 { // Centralized command mode: label checks for dispatches derive from aw_context metadata. labelConditionTree, err := buildDispatchLabelCommandCondition(data.LabelCommand, data.LabelCommandEvents) if err != nil { return fmt.Errorf("failed to build label-command condition: %w", err) } - data.If = RenderCondition(labelConditionTree) + data.If = RenderCondition(BuildConditionTree(data.If, labelConditionTree.Render())) } return nil } From c9974aea1aba41c711a3449ddd822bf548839842 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 08:07:23 +0000 Subject: [PATCH 6/7] Tighten mixed-trigger regression assertion for slash command guard Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- pkg/workflow/label_command_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/workflow/label_command_test.go b/pkg/workflow/label_command_test.go index 3c12deb9bb3..419646da626 100644 --- a/pkg/workflow/label_command_test.go +++ b/pkg/workflow/label_command_test.go @@ -395,7 +395,12 @@ Run for /triage comments or state:approved labels on open issues. require.True(t, ok, "activation job should have an if condition") assert.Contains(t, activationIf, "needs.pre_activation.outputs.activated == 'true'") assert.Contains(t, activationIf, "github.event.label.name == 'state:approved'") - assert.Contains(t, activationIf, "startsWith(github.event.comment.body, '/triage") + assert.True( + t, + strings.Contains(activationIf, "startsWith(github.event.comment.body, '/triage ')") || + strings.Contains(activationIf, "startsWith(github.event.comment.body, '/triage\\n')"), + "activation if should include slash command prefix guard for /triage", + ) assert.Contains(t, activationIf, "github.event.issue.state == 'open'") } From 634474d7cb00369b418309a5cd1712c3918db76b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Jul 2026 08:40:17 +0000 Subject: [PATCH 7/7] chore: start pr-finisher pass for unresolved review feedback Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/workflows/approach-validator.lock.yml | 8 ++++---- .github/workflows/cloclo.lock.yml | 12 ++++++------ .github/workflows/q.lock.yml | 4 ++-- .github/workflows/smoke-copilot-aoai-apikey.lock.yml | 8 ++++---- .github/workflows/smoke-copilot-aoai-entra.lock.yml | 8 ++++---- .github/workflows/smoke-copilot-mai.lock.yml | 8 ++++---- .github/workflows/smoke-copilot-sdk.lock.yml | 8 ++++---- .github/workflows/smoke-copilot-small.lock.yml | 8 ++++---- .github/workflows/smoke-copilot.lock.yml | 8 ++++---- .github/workflows/smoke-otel-backends.lock.yml | 8 ++++---- 10 files changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/workflows/approach-validator.lock.yml b/.github/workflows/approach-validator.lock.yml index 5307640199f..c4ae9281d03 100644 --- a/.github/workflows/approach-validator.lock.yml +++ b/.github/workflows/approach-validator.lock.yml @@ -93,8 +93,8 @@ jobs: needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'approach-proposal' || fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'needs-design') || - (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'pull_request'))) + !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: actions: read @@ -1956,8 +1956,8 @@ jobs: if: > (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'approach-proposal' || - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'needs-design') || (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) + fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'needs-design') || !(fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index be70c0b1f30..de01d2417d1 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -98,9 +98,9 @@ jobs: if: > needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'discussion') && fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'cloclo' || - (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'pull_request')) && (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion'))) + '{}').event_type == 'discussion') && (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'cloclo') || + !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion')) runs-on: ubuntu-slim permissions: actions: read @@ -1943,9 +1943,9 @@ jobs: if: > (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion') && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'cloclo' || (!(fromJSON(github.event.inputs.aw_context || - '{}').event_type == 'issues')) && (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) && - (!(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion')) + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'cloclo') || !(fromJSON(github.event.inputs.aw_context || + '{}').event_type == 'issues' || fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' || + fromJSON(github.event.inputs.aw_context || '{}').event_type == 'discussion') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 987f2b5288b..a81cb450602 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -104,7 +104,7 @@ env: jobs: activation: needs: pre_activation - if: "needs.pre_activation.outputs.activated == 'true' && ((github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment') && (github.event_name == 'issues' && (startsWith(github.event.issue.body, '/q ') || startsWith(github.event.issue.body, '/q\n') || github.event.issue.body == '/q') || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request == null || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request != null || github.event_name == 'discussion' && (startsWith(github.event.discussion.body, '/q ') || startsWith(github.event.discussion.body, '/q\n') || github.event.discussion.body == '/q') || github.event_name == 'discussion_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q')) || (!(github.event_name == 'issues')) && (!(github.event_name == 'issue_comment')) && (!(github.event_name == 'discussion')) && (!(github.event_name == 'discussion_comment')))" + if: "needs.pre_activation.outputs.activated == 'true' && ((github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment') && (github.event_name == 'issues' && (startsWith(github.event.issue.body, '/q ') || startsWith(github.event.issue.body, '/q\n') || github.event.issue.body == '/q') || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request == null || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request != null || github.event_name == 'discussion' && (startsWith(github.event.discussion.body, '/q ') || startsWith(github.event.discussion.body, '/q\n') || github.event.discussion.body == '/q') || github.event_name == 'discussion_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q')) || !(github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment'))" runs-on: ubuntu-slim permissions: actions: read @@ -1809,7 +1809,7 @@ jobs: } pre_activation: - if: "(github.event_name != 'issue_comment' || contains(fromJSON('[\"OWNER\",\"MEMBER\",\"COLLABORATOR\"]'), github.event.comment.author_association)) && ((github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment') && (github.event_name == 'issues' && (startsWith(github.event.issue.body, '/q ') || startsWith(github.event.issue.body, '/q\n') || github.event.issue.body == '/q') || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request == null || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request != null || github.event_name == 'discussion' && (startsWith(github.event.discussion.body, '/q ') || startsWith(github.event.discussion.body, '/q\n') || github.event.discussion.body == '/q') || github.event_name == 'discussion_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q')) || (!(github.event_name == 'issues')) && (!(github.event_name == 'issue_comment')) && (!(github.event_name == 'discussion')) && (!(github.event_name == 'discussion_comment')))" + if: "(github.event_name != 'issue_comment' || contains(fromJSON('[\"OWNER\",\"MEMBER\",\"COLLABORATOR\"]'), github.event.comment.author_association)) && ((github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment') && (github.event_name == 'issues' && (startsWith(github.event.issue.body, '/q ') || startsWith(github.event.issue.body, '/q\n') || github.event.issue.body == '/q') || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request == null || github.event_name == 'issue_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q') && github.event.issue.pull_request != null || github.event_name == 'discussion' && (startsWith(github.event.discussion.body, '/q ') || startsWith(github.event.discussion.body, '/q\n') || github.event.discussion.body == '/q') || github.event_name == 'discussion_comment' && (startsWith(github.event.comment.body, '/q ') || startsWith(github.event.comment.body, '/q\n') || github.event.comment.body == '/q')) || !(github.event_name == 'issues' || github.event_name == 'issue_comment' || github.event_name == 'discussion' || github.event_name == 'discussion_comment'))" runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml index 449bb792d7b..f2f0587cc8d 100644 --- a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml +++ b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml @@ -100,8 +100,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -2796,8 +2796,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-copilot-aoai-entra.lock.yml b/.github/workflows/smoke-copilot-aoai-entra.lock.yml index 3fe6a2173e2..e1891e09c44 100644 --- a/.github/workflows/smoke-copilot-aoai-entra.lock.yml +++ b/.github/workflows/smoke-copilot-aoai-entra.lock.yml @@ -99,8 +99,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -2805,8 +2805,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim environment: aoai-model permissions: diff --git a/.github/workflows/smoke-copilot-mai.lock.yml b/.github/workflows/smoke-copilot-mai.lock.yml index 79444306528..8c258ef65bd 100644 --- a/.github/workflows/smoke-copilot-mai.lock.yml +++ b/.github/workflows/smoke-copilot-mai.lock.yml @@ -71,8 +71,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -1629,8 +1629,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-copilot-sdk.lock.yml b/.github/workflows/smoke-copilot-sdk.lock.yml index 659fc9b47b1..5cf644fbf02 100644 --- a/.github/workflows/smoke-copilot-sdk.lock.yml +++ b/.github/workflows/smoke-copilot-sdk.lock.yml @@ -70,8 +70,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke-sdk' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke-sdk') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -1608,8 +1608,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke-sdk' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke-sdk') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-copilot-small.lock.yml b/.github/workflows/smoke-copilot-small.lock.yml index 7a831cfae04..e438cd65e6a 100644 --- a/.github/workflows/smoke-copilot-small.lock.yml +++ b/.github/workflows/smoke-copilot-small.lock.yml @@ -70,8 +70,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -1602,8 +1602,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 0277e3af28c..3dea6b9bb7b 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -99,8 +99,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -3037,8 +3037,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/smoke-otel-backends.lock.yml b/.github/workflows/smoke-otel-backends.lock.yml index ff473ac3712..6aa3043153c 100644 --- a/.github/workflows/smoke-otel-backends.lock.yml +++ b/.github/workflows/smoke-otel-backends.lock.yml @@ -105,8 +105,8 @@ jobs: activation: needs: pre_activation if: > - needs.pre_activation.outputs.activated == 'true' && (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && - fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || + needs.pre_activation.outputs.activated == 'true' && ((fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && + (fromJSON(github.event.inputs.aw_context || '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request')) runs-on: ubuntu-slim permissions: @@ -1789,8 +1789,8 @@ jobs: pre_activation: if: > - fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || - '{}').trigger_label == 'smoke' || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') + (fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') && (fromJSON(github.event.inputs.aw_context || + '{}').trigger_label == 'smoke') || !(fromJSON(github.event.inputs.aw_context || '{}').event_type == 'pull_request') runs-on: ubuntu-slim permissions: contents: read