Skip to content

ci: add reviewed self-hosted procurement reusable workflow - #2620

Merged
seonghobae merged 3 commits into
feat/gyeot-central-self-hostedfrom
ci/procurement-workbench-reviewed-r3
Oct 12, 2026
Merged

seonghobae merged 3 commits into
feat/gyeot-central-self-hostedfrom
ci/procurement-workbench-reviewed-r3

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • Adds a central reusable workflow_call for ContextualWisdomLab/procurement-workbench quality CI on self-hosted Linux x64 runner group CWL procurement CI.
  • Keeps this as a source-only, secretless quality lane: no inherited secrets, no GitHub-hosted fallback, fixed caller admission, fork refusal, immutable central definition validation, fresh per-run checkout/cache/temp roots and cleanup.
  • Adds contract/lifecycle tests and docs for activation HOLD.

Base and ownership

Verified local evidence

  • Exact accepted tree before commit: 0c5040db2eee525dff20964d3dc403273afd35a9.
  • Combined local full gate on ci(gyeot): add central self-hosted verification #2611 + these six files: 5457 passed, 4 skipped, 40 subtests passed.
  • Coverage: 18280/18280 statements and 7506/7506 branches, 100%.
  • Interrogate: 100%.
  • Focused procurement tests: 52 passed; affected combined tests: 169 passed.
  • actionlint and git diff --check: passed.

Independent review evidence

  • Spec review: APPROVE, SHA-256 0e030a0b8ec34bb5af4ca3a81f9ef62aea7b2b18127f9f31a33e68c65f43892e.
  • Security review: APPROVE, SHA-256 f7fc4dee2c8411d44d03a76145bd874c6cf9d0aab26117738f96d19c583284c4.
  • Combined integration review: APPROVE, SHA-256 585eff59f0b3f4f9b969f79faa33cef64a23d361edf4f078b993714ac2d84287.
  • Full-failure RCA for original base: no candidate regressions among the seven original failures, SHA-256 dc15790200508924f2fbb6ee479daa237012006f80d06441933e5634b17c3614.

Activation HOLD

Not completed by this PR:

  • actual GitHub Actions self-hosted run/canary,
  • Linux Python 3.12/3.14 matrix execution on the runner,
  • formal Noema/OpenCode GitHub App approval on the final PR head,
  • LiteLLM auto authenticated inference proof,
  • product caller switch and hosted-only retirement.

Those must fail closed until the required evidence exists.

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 679def55-c366-4b93-9f0a-2eb85ddb6b93

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

2026-10-10 merge-prep checkpoint

Head: 29ff89882faf88f2687597a115e4c153f02464bb.

Source status:

  • This PR adds the reviewed procurement reusable workflow and tests on top of ci(gyeot): add central self-hosted verification #2611.
  • Local combined source evidence passed: 5,457 pytest cases, 100% coverage, 100% interrogate.
  • Independent source/spec/security/integration reviews approved the frozen six-file source.

Current remote status:

  • PR is still Draft.
  • No formal GitHub review objects are present.
  • Noema check completed successfully only after live Draft detection skipped model review before sidecar provisioning.
  • OpenCode review is skipped.
  • These statuses are not Noema/OpenCode approval.

Activation HOLD remains:

  • Runner group CWL procurement CI is not present in the current org runner inventory.
  • ContextualWisdomLab/procurement-workbench has zero repo-scoped runners and no observed eligible org-group route.
  • Protected main still routes review workflows through the existing non-auto path. Literal LiteLLM auto remains in the unmerged ci: stage all workflows on isolated self-hosted runners #2565 lane and still lacks the required cost/private-retention attestations.

Next merge gate:

  • Keep this PR Draft/HOLD until runner eligibility, actual self-hosted canary, literal auto review route, and qualifying Noema/OpenCode App approval are all evidenced.

@seonghobae
seonghobae marked this pull request as ready for review October 11, 2026 13:35

@devin-ai-integration devin-ai-integration Bot left a comment

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.

Devin Review found 2 potential issues.

Devin Review

Comment thread GOAL.md Outdated
Comment on lines +21 to +22
- 제품 workflow: `procurement-workbench/.github/workflows/ci.yml`.
- 제품 PR #4가 caller 파일을 소유한다. 중앙 workflow가 검토·게시되고 runner가 실제 준비되기 전에는 제품 caller를 바꾸지 않는다.

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.

🔍 Product PR references lack cross-repository links

The product caller’s PR #4 links within this repository, not to ContextualWisdomLab/procurement-workbench. The doctoring record repeats the same reference; both need linkable cross-repository identifiers.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Comment on lines +160 to +172
- name: Setup uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e
with:
cache-local-path: ${{ steps.prepare.outputs.job_root }}/uv-cache
enable-cache: false
save-cache: false
python-version: ${{ matrix.python-version }}
working-directory: ${{ steps.prepare.outputs.source_absolute }}

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: '24'

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.

🟨 Unisolated remote actions on procurement runner

On each run, setup-uv and setup-node execute remote action code on the self-hosted runner. Their commit pins do not confine host access; runner isolation remains unverified.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@seonghobae
seonghobae merged commit 2445909 into feat/gyeot-central-self-hosted Oct 12, 2026
18 of 22 checks passed
@seonghobae
seonghobae deleted the ci/procurement-workbench-reviewed-r3 branch October 12, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant