Skip to content

Add concurrency.queue support and queue-aware conclusion job defaults#31764

Merged
pelikhan merged 7 commits into
mainfrom
copilot/add-queue-support-for-concurrency
May 12, 2026
Merged

Add concurrency.queue support and queue-aware conclusion job defaults#31764
pelikhan merged 7 commits into
mainfrom
copilot/add-queue-support-for-concurrency

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 12, 2026

New Feature

What does this feature do?

This adds first-class support for GitHub Actions’ new concurrency.queue field across workflow/engine parsing paths and compiler output. It also updates the generated conclusion job to use queue: max by default, with an explicit feature flag to opt out.

Why is this feature needed?

Without queue support, workflows cannot express multi-pending concurrency behavior (single vs max) introduced by Actions. This change enables queue semantics end-to-end while preserving a safe override for repositories that want legacy conclusion-job behavior.

Implementation details

  • Schema + frontmatter compatibility
    • Added queue (single|max) to:
      • top-level concurrency object
      • engine.concurrency object
  • Parser/data flow updates
    • Extended engine concurrency parsing to retain queue in serialized job concurrency YAML.
    • Kept workflow concurrency extraction behavior intact (strip gh-aw extension fields like job-discriminator, preserve standard fields including queue).
  • Conclusion job behavior
    • Compiler now emits queue: max on the generated conclusion job concurrency block.
    • Added features.group-concurrency-queue to control this behavior:
      • true / unset: include queue: max
      • false: omit queue from generated conclusion concurrency
  • Feature surface
    • Added GroupConcurrencyQueueFeatureFlag constant (group-concurrency-queue).
    • Updated targeted tests for constants, concurrency extraction, engine concurrency parsing, and conclusion-job concurrency generation.
# Frontmatter
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  queue: max

features:
  group-concurrency-queue: false
# Generated conclusion job concurrency (default behavior)
concurrency:
  group: "gh-aw-conclusion-<workflow-id>"
  cancel-in-progress: false
  queue: max

Changeset

  • Type: minor
  • Description: Add support for concurrency.queue in workflow parsing and compiler output, and default generated conclusion jobs to queue: max.

Generated by Changeset Generator for issue #31764 ·



✨ PR Review Safe Output Test - Run 25756984939

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · ● 6.8M ·

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title Add support for concurrency queue and conclusion queue defaults Add concurrency.queue support and queue-aware conclusion job defaults May 12, 2026
Copilot AI requested a review from pelikhan May 12, 2026 18:43
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilots features.group-concurrency-queue: false should disable the missiong of queue: max.

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot features.group-concurrency-queue: false should disable the missiong of queue: max.

Copilot AI and others added 2 commits May 12, 2026 18:59
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 12, 2026

@copilot features.group-concurrency-queue: false should disable the missiong of queue: max.

Addressed in 81b63d0 with the same fix: setting features.group-concurrency-queue: false now suppresses queue: max emission in the conclusion job concurrency output.

@copilots features.group-concurrency-queue: false should disable the missiong of queue: max.

Fixed in 81b63d0. features.group-concurrency-queue: false now disables emitting queue: max for the generated conclusion job concurrency block, including when the value is provided as the string "false".

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot recompile workflows and check conclusion used queue

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 12, 2026

@copilot recompile workflows and check conclusion used queue

Ran make recompile and then audited compiled lock files. Conclusion job concurrency is using queue: max across compiled workflows (221/221 lock workflows with a conclusion job have jobs.conclusion.concurrency.queue: max), and recompilation produced no file diffs.

@pelikhan pelikhan marked this pull request as ready for review May 12, 2026 19:22
Copilot AI review requested due to automatic review settings May 12, 2026 19:22
@pelikhan pelikhan added the smoke label May 12, 2026
Copy link
Copy Markdown
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 end-to-end support for GitHub Actions’ new concurrency.queue field in schema + engine/workflow parsing, and updates the compiler-generated conclusion job to default to queue: max (with a feature flag to opt out).

Changes:

  • Extend the main workflow schema (top-level concurrency and engine.concurrency) to allow queue: single|max.
  • Preserve/serialize queue in engine concurrency extraction and workflow concurrency passthrough logic.
  • Default the generated conclusion job’s concurrency to include queue: max (controllable via features.group-concurrency-queue), and regenerate workflow lockfiles accordingly.
Show a summary per file
File Description
pkg/workflow/notify_comment.go Adds queue-aware conclusion job concurrency generation + feature-flag gating.
pkg/workflow/notify_comment_test.go Adds tests for conclusion job concurrency queue default and opt-out behavior.
pkg/workflow/engine.go Includes queue when serializing engine.concurrency object form to YAML.
pkg/workflow/engine_concurrency_test.go Adds coverage for queue serialization in engine concurrency parsing.
pkg/workflow/compiler_orchestrator_workflow_test.go Ensures top-level concurrency extraction preserves queue while stripping gh-aw extensions.
pkg/parser/schemas/main_workflow_schema.json Adds concurrency.queue support (top-level and engine concurrency objects).
pkg/constants/spec_test.go Verifies the new group-concurrency-queue feature flag constant matches spec.
pkg/constants/feature_constants.go Introduces GroupConcurrencyQueueFeatureFlag constant.
pkg/constants/constants_test.go Adds the new feature flag constant to the constants test matrix.
.github/workflows/workflow-skill-extractor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/workflow-normalizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/workflow-health-manager.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/workflow-generator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/weekly-issue-summary.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/weekly-editors-health-check.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/weekly-blog-post-writer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/visual-regression-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/video-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/update-astro.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/unbloat-docs.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ubuntu-image-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/typist.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/tidy.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/test-workflow.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/test-quality-sentinel.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/test-project-url-default.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/test-dispatcher.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/test-create-pr-error-handling.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/terminal-stylist.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/technical-doc-writer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/super-linter.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/sub-issue-closer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/step-name-alignment.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/static-analysis-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/stale-repo-identifier.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/stale-pr-cleanup.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/spec-librarian.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/spec-extractor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/spec-enforcer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-workflow-call.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-workflow-call-with-inputs.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-test-tools.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-temporary-id.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-service-ports.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-project.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-pi.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-opencode.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-multi-pr.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-gemini.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-crush.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-copilot.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-copilot-arm.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-codex.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/smoke-claude.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-ci.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-call-workflow.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/smoke-agent-scoped-approved.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-agent-public-none.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-agent-public-approved.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-agent-all-none.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/smoke-agent-all-merged.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/slide-deck-maintainer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/sergo.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/semantic-function-refactor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/security-review.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/security-compliance.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/scout.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/schema-feature-coverage.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/schema-consistency-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/safe-output-health.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/research.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/repository-quality-improver.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/repo-tree-map.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/repo-audit-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/release.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/refiner.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/refactoring-cadence.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/q.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/python-data-charts.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/prompt-clustering-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/pr-triage-agent.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/pr-nitpick-reviewer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/pr-code-quality-reviewer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/poem-bot.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/plan.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/pdf-summary.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/org-health-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/notion-issue-summary.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/necromancer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/metrics-collector.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/mergefest.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/mcp-inspector.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/mattpocock-skills-reviewer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/lockfile-stats.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/layout-spec-maintainer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/jsweep.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/issue-triage-agent.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/issue-monster.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/issue-arborist.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/instructions-janitor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/hourly-ci-cleaner.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/hippo-embed.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/grumpy-reviewer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/gpclean.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/go-pattern-detector.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/go-logger.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/go-fan.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/glossary-maintainer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/github-remote-mcp-auth-test.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/github-mcp-tools-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/github-mcp-structural-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/functional-pragmatist.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/firewall.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/firewall-escape.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/example-workflow-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/example-permissions-warning.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/duplicate-code-detector.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/draft-pr-cleanup.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/docs-noob-tester.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/discussion-task-miner.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dictation-prompt.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/developer-docs-consolidator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dev.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dev-hawk.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/design-decision-gate.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/deployment-incident-monitor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dependabot-worker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dependabot-repair.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dependabot-go-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dependabot-campaign.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dependabot-burner.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/delight.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/deep-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/dead-code-remover.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-workflow-updater.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-token-consumption-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-testify-uber-super-expert.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-team-status.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-team-evolution-insights.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-syntax-error-quality.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-subagent-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-spdd-spec-planner.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-skill-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-sentrux-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-semgrep-scan.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-security-red-team.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-security-observability.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-secrets-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-safe-outputs-conformance.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-safe-output-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-safe-output-integrator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-repo-chronicle.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-regulatory.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-performance-summary.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-otel-instrumentation-advisor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-observability-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/daily-news.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-multi-device-docs-tester.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-model-inventory.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-malicious-code-scan.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-issues-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-hippo-learn.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-grafana-otel-instrumentation-advisor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-geo-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-function-namer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-firewall-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-file-diet.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-fact.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/daily-experiment-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-doc-updater.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-doc-healer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-compiler-threat-spec-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-compiler-quality.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-community-attribution.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-code-metrics.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-cli-tools-tester.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-cli-performance.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-choice-test.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-caveman-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-cache-strategy-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency (plus deterministic heredoc token updates).
.github/workflows/daily-aw-cross-repo-compile-check.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-astrostylelite-markdown-spellcheck.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-assign-issue-to-user.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/daily-architecture-diagram.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/craft.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-token-optimizer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-token-audit.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-session-insights.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-pr-merged-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-opt.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-cli-deep-research.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/copilot-agent-analysis.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/contribution-check.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/constraint-solving-potd.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/commit-changes-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/codex-github-remote-mcp-test.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/code-simplifier.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/code-scanning-fixer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/cloclo.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/cli-version-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/cli-consistency-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/claude-code-user-docs-review.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ci-doctor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ci-coach.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/changeset.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/breaking-change-checker.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/brave.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/bot-detection.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/blog-auditor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/aw-portfolio-yield.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/aw-failure-investigator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/auto-triage-issues.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/audit-workflows.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/artifacts-summary.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/architecture-guardian.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/archie.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/approach-validator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/api-consumption-report.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ai-moderator.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/agent-persona-explorer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/agent-performance-analyzer.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ace-editor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.
.github/workflows/ab-testing-advisor.lock.yml Regenerated lockfile to include queue: max on conclusion job concurrency.

Copilot's findings

Tip

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

  • Files reviewed: 230/230 changed files
  • Comments generated: 1

Comment on lines +636 to +647
func parseGroupConcurrencyQueueFeatureValue(value any) bool {
switch v := value.(type) {
case bool:
return v
case string:
normalized := strings.ToLower(strings.TrimSpace(v))
switch normalized {
case "false", "0", "off", "no":
return false
default:
return normalized != ""
}
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

🌑 The shadows whisper... Smoke Codex failed to deliver outputs. The oracle requires further meditation...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

💫 TO BE CONTINUED... Smoke Claude failed to deliver outputs! Our hero faces unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions Bot removed the smoke label May 12, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

🚀 Smoke Pi MISSION COMPLETE! Pi delivered. 🥧

@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: 1044e3e

Generated by Changeset Generator

@github-actions
Copy link
Copy Markdown
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq 4.52.5
curl 8.5.0
gh 2.89.0
node 22.22.2
python3 3.10.16 (PyPy 7.3.19)
go 1.24.13
java openjdk 21.0.10
dotnet 10.0.201

Result: 12/12 tools available ✅

Overall Status: PASS

🔧 Tool validation by Agent Container Smoke Test · ● 1.2M ·

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 91/100

Excellent test quality

Metric Value
New/modified tests analyzed 10 scenarios across 5 files
✅ Design tests (behavioral contracts) 10 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 7 (70%)
Duplicate test clusters 0
Test inflation detected No (1.19:1 ratio)
🚨 Coding-guideline violations None

Test Classification Details

View All Test Scenarios
Test / Scenario File Classification Notes
TestFeatureFlagConstantsGroupConcurrencyQueueFeatureFlag row pkg/constants/constants_test.go:366 ✅ Design Verifies constant string value matches spec
TestSpec_FeatureFlags_ValuesGroupConcurrencyQueueFeatureFlag row pkg/constants/spec_test.go:290 ✅ Design Spec conformance: constant value == "group-concurrency-queue"
TestExtractConcurrencySection — existing case extended with queue: max pkg/workflow/compiler_orchestrator_workflow_test.go:~1820 ✅ Design Verifies queue field is preserved in serialized YAML output
TestExtractEngineConcurrencyField — "Object format concurrency with queue max" pkg/workflow/engine_concurrency_test.go:67 ✅ Design Verifies queue-only case produces expected YAML
TestExtractEngineConcurrencyField — "Object format concurrency with cancel-in-progress and queue" pkg/workflow/engine_concurrency_test.go:82 ✅ Design Verifies combined cancel-in-progress + queue YAML rendering
TestConclusionJobConcurrencyGroup — existing rows updated with expectQueue: true pkg/workflow/notify_comment_test.go:~935 ✅ Design Confirms default behavior now includes queue: max
TestConclusionJobConcurrencyGroup — "queue can be disabled with feature flag" pkg/workflow/notify_comment_test.go:~956 ✅ Design Edge case: boolean false feature flag disables queue
TestConclusionJobConcurrencyGroup — "queue can be disabled with string false feature flag" pkg/workflow/notify_comment_test.go:~964 ✅ Design Edge case: string "false" also disables queue (type-coercion safety)
Existing rows concurrency group set when workflow ID is present + variants pkg/workflow/notify_comment_test.go ✅ Design Baseline assertions extended to check for queue: max presence

Flagged Tests — Requires Review

No tests were flagged. All new/modified scenarios verify observable behavior.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 10 scenarios — unit (//go:build !integration)
  • 🟨 JavaScript: no JavaScript test files changed

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All changed tests verify behavioral contracts — YAML output, constant string values, and feature-flag–controlled behavior. The two edge-case rows in notify_comment_test.go that test both boolean false and string "false" for the feature flag are especially valuable for catching type-coercion regressions.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

References: §25756975470

🧪 Test quality analysis by Test Quality Sentinel · ● 7.4M ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /tdd (new feature with tests) and /zoom-out (touches multiple compiler paths: engine, conclusion job, schema, constants).

Key Themes

  1. Duplicate feature-flag infrastructureisGroupConcurrencyQueueEnabled and parseGroupConcurrencyQueueFeatureValue bypass the existing isFeatureEnabled / getFeatureValueFromFrontmatter helpers. This silently removes GH_AW_FEATURES env-var override support that every other flag enjoys. (#1 comment, notify_comment.go line 634)

  2. Inconsistent feature-value parsing — The new parseGroupConcurrencyQueueFeatureValue accepts "off", "no", "0" as falsy, while no other feature flag does. This creates undocumented per-flag behaviour. (#2 comment, notify_comment.go line 643)

  3. No validation of queue enum at compile time — Invalid strings pass through to the emitted YAML verbatim in both engine.go and notify_comment.go. The schema already defines the enum; the compiler should enforce it. (#3 comment, engine.go line 314)

  4. Structural awkwardness in engine.go — The parts slice as a single-element optional is hard to reason about; cancel-in-progress: false is already silently dropped, and queue adds a second asymmetric case. A comment or refactor would prevent future bugs. (#5 comment, engine.go line 307)

Positive Highlights

  • ✅ Clean opt-out default: feature is on unless explicitly disabled — sensible default for a new GitHub Actions capability
  • ✅ Good test coverage of the happy path and the string/bool false opt-out cases in notify_comment_test.go
  • ✅ Well-documented feature constant with frontmatter usage example
  • ✅ Schema additions correctly placed in both concurrency and engine.concurrency objects

Verdict

Requesting changes primarily on the feature-flag duplication (#1) — it's a correctness issue (missing env-var override) that will surprise operators who expect GH_AW_FEATURES to work uniformly. The other comments are lower severity but worth addressing before merge.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · ● 10.7M

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all comments, merge main and recompile

@github-actions
Copy link
Copy Markdown
Contributor

PRs: #31770 fix: convert double quotes to single quotes in experiment comparison expressions; #31768 test: migrate time_delta_test.go to testify
✅ GitHub MCP, Serena MCP, file write/read, build, comment memory, cache memory, set issue field
❌ Playwright exact subcommand, web-fetch MCP, original comment-memory glob absent
Overall status: FAIL
Run: https://github.com/github/gh-aw/actions/runs/25756984976

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

@github-actions
Copy link
Copy Markdown
Contributor

Comment Memory

Quiet checks compile
Cache remembers the smoke
Fields wait in order

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Smoke Test: Claude — Run 25756984939

Core tests #1-12: ✅ All passed
PR review tests #13-18: ✅ All passed
Test #19 (close PR): ⚠️ Skipped (no safe test PR)

Overall: PASS

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · ● 6.8M ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

💥 Automated smoke test review - all systems nominal!

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · ● 6.8M

group = fmt.Sprintf("%s-%s", group, data.ConcurrencyJobDiscriminator)
}
concurrency = c.indentYAMLLines(fmt.Sprintf("concurrency:\n group: %q\n cancel-in-progress: false", group), " ")
concurrencyValue := fmt.Sprintf("concurrency:\n group: %q\n cancel-in-progress: false", group)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit: consider extracting the literal "queue: max" into a named constant alongside the feature flag, so the queue policy and its enablement live next to each other.

Comment thread pkg/workflow/engine.go
if queueStr, ok := queue.(string); ok && queueStr != "" {
if len(parts) > 0 {
parts[0] += fmt.Sprintf("\n queue: %s", queueStr)
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Consider validating known queue values here (e.g., max, min) and emitting a warning for unknown strings, so workflow authors get earlier feedback on typos.

@github-actions
Copy link
Copy Markdown
Contributor

Smoke test agent was here! 🔥 Me run test. Test pass! Cave painting on your metrics. Very impressive 1,455,791 LOC! Ugh ugh!

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

📰 BREAKING: Report filed by Smoke Copilot · ● 13.5M ·

@github-actions
Copy link
Copy Markdown
Contributor

Smoke Test Results for PR #31764

Test Result
GitHub MCP
MCP Scripts GH CLI
Serena CLI
Playwright CLI
Web Fetch
File Writing
Bash Tool
Discussion Interaction
Build gh-aw
Upload Artifact
Create Discussion
Workflow Dispatch
PR Review
Comment Memory ⚠️
Sub-Agent

Overall: ✅ PASS

PR by @app/copilot-swe-agent · Assignees: @pelikhan, @Copilot

Run: https://github.com/github/gh-aw/actions/runs/25756985032

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

📰 BREAKING: Report filed by Smoke Copilot · ● 13.5M ·

@github-actions
Copy link
Copy Markdown
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 12, 2026

@copilot review all comments, merge main and recompile

Done in 8d896a9. I reviewed the feedback, confirmed this branch already includes the latest main merge commit, recompiled workflows, and verified conclusion concurrency still uses queue: max (221/221 compiled lock workflows with a conclusion job). I also addressed the queue-flag parsing feedback so only explicit false-like values disable queue emission.

@pelikhan pelikhan merged commit c8514a3 into main May 12, 2026
15 of 18 checks passed
@pelikhan pelikhan deleted the copilot/add-queue-support-for-concurrency branch May 12, 2026 20:17
github-actions Bot added a commit that referenced this pull request May 13, 2026
…rtifact-compat feature flag

Add reference documentation for three user-facing surfaces merged in the
last 24h that had no prior documentation:

- firewall.effective-token-steering (#31796): budget-warning system
  message injection via AWF v0.25.44+
- concurrency.queue and features.group-concurrency-queue (#31764):
  queue:max behavior and opt-out for compiler-generated groups
- features.ghes-artifact-compat (#31664): per-workflow GHES artifact
  compatibility opt-in via frontmatter or GH_AW_FEATURES env var

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants