@plainconceptsplatform/workflows 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,12 +2,13 @@
2
2
  # Runners this repository actually has.
3
3
  #
4
4
  # actionlint knows GitHub's own labels and rejects everything else, so a workflow that
5
- # names one of our runner groups was reported as an error on every pull request. Both
6
- # of these are real: agents-arc runs the agentic workflows, RunnerLandingZone runs the
7
- # work router. Listing them here is how actionlint is told a label is self-hosted
8
- # rather than a typo, and it keeps that knowledge in a file the workflow generator
9
- # does not overwrite.
5
+ # names one of our runner groups was reported as an error on every pull request. All of
6
+ # these are real: agents-arc runs CI/Deploy, agents-aw runs the agent workflows,
7
+ # RunnerLandingZone runs the work router. Listing them here is how actionlint is told a
8
+ # label is self-hosted rather than a typo, and it keeps that knowledge in a file the
9
+ # workflow generator does not overwrite.
10
10
  self-hosted-runner:
11
11
  labels:
12
12
  - agents-arc
13
+ - agents-aw
13
14
  - RunnerLandingZone
@@ -555,72 +555,6 @@ jobs:
555
555
  ${{ env.IMPLEMENT_MARKER }}
556
556
  ${{ env.INCOMPLETE_COMMENT }}
557
557
  [View this workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
558
- # The implement-global concurrency group is held for as long as this called workflow runs,
559
- # so waiting here is what makes the queue serial end to end rather than merely serial up to
560
- # pull request creation. Without it the next story branches from a default branch that does
561
- # not yet contain this one, and every later pull request in a batch conflicts with every
562
- # earlier one: work an agent then has to redo at merge-gate time, once per pair.
563
- #
564
- # Hosted, not agents-arc: this job sleeps, and the fleet is capped at two VMs that the
565
- # pull request's own CI needs in order to finish.
566
- await_landing:
567
- # agent and safe_outputs are named explicitly, not just conclude: a custom job that does
568
- # not reference them is treated as pre-agent and wired as a dependency OF the agent job,
569
- # which makes agent -> await_landing -> conclude -> agent a cycle and fails compilation.
570
- needs: [agent, safe_outputs, conclude]
571
- if: always() && needs.conclude.result == 'success'
572
- runs-on: agents-arc
573
- timeout-minutes: 95
574
- permissions:
575
- contents: read
576
- issues: read
577
- pull-requests: read
578
- steps:
579
- - name: Wait for the pull request to reach a terminal state
580
- env:
581
- GH_TOKEN: ${{ github.token }}
582
- REPO: ${{ github.repository }}
583
- ISSUE: ${{ inputs.issue-number }}
584
- REVIEW_LABEL: ${{ env.REVIEW_LABEL }}
585
- # Cap below the job timeout so the step reports rather than being killed.
586
- MAX_WAIT_MINUTES: "90"
587
- run: |
588
- set -euo pipefail
589
-
590
- # The pull request is recorded on the issue by the marker implement stamps; fall
591
- # back to a body search for pull requests created before markers existed.
592
- pr=$(gh issue view "$ISSUE" --repo "$REPO" --json body --jq '.body // ""' \
593
- | grep -oE '<!-- implement-pr: [0-9]+ -->' | head -1 | grep -oE '[0-9]+' || true)
594
- if [ -z "$pr" ]; then
595
- pr=$(gh pr list --repo "$REPO" --state open --json number,body \
596
- --jq "[.[] | select(((.body // \"\") + \" \") | ascii_downcase | test(\"clos(e|es|ed) #${ISSUE}[^0-9]|fix(es|ed)? #${ISSUE}[^0-9]|resolves? #${ISSUE}[^0-9]\"))][0].number // empty")
597
- fi
598
- if [ -z "$pr" ]; then
599
- echo "::notice::No pull request found for #$ISSUE; nothing to wait for."
600
- exit 0
601
- fi
602
-
603
- echo "Holding the implement slot until PR #$pr lands."
604
- deadline=$(( $(date +%s) + MAX_WAIT_MINUTES * 60 ))
605
- while [ "$(date +%s)" -lt "$deadline" ]; do
606
- state=$(gh pr view "$pr" --repo "$REPO" --json state --jq '.state' 2>/dev/null || echo GONE)
607
- case "$state" in
608
- MERGED)
609
- echo "::notice::PR #$pr merged. Releasing the slot so the next story branches from it."
610
- exit 0 ;;
611
- CLOSED|GONE)
612
- echo "::notice::PR #$pr is $state. Releasing the slot."
613
- exit 0 ;;
614
- esac
615
- # A human now owns the change, so the queue must not wait on them.
616
- if gh issue view "$ISSUE" --repo "$REPO" --json labels \
617
- --jq '[.labels[].name]' | jq -e --arg l "$REVIEW_LABEL" 'index($l)' >/dev/null; then
618
- echo "::notice::#$ISSUE was handed to a human ($REVIEW_LABEL). Releasing the slot."
619
- exit 0
620
- fi
621
- sleep 30
622
- done
623
- echo "::warning::PR #$pr did not land within ${MAX_WAIT_MINUTES}m. Releasing the slot; the next story may branch from a default branch without these changes."
624
558
  agent:
625
559
  needs: [eligibility]
626
560
  if: needs.eligibility.outputs.eligible == 'true'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainconceptsplatform/workflows",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Install and update Platform GitHub agentic workflows.",
5
5
  "keywords": [
6
6
  "github-actions",