diff --git a/.github/workflows/agent.yml b/.github/workflows/agent.yml index c5d5707..e4b1108 100644 --- a/.github/workflows/agent.yml +++ b/.github/workflows/agent.yml @@ -40,7 +40,7 @@ concurrency: jobs: agent: - uses: YiAgent/OpenCI/.github/workflows/reusable-agent.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-agent.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: task: ${{ inputs.task }} prompt: ${{ inputs.prompt }} diff --git a/.github/workflows/ci-self-test.yml b/.github/workflows/ci-self-test.yml index 953334f..3e19f7e 100644 --- a/.github/workflows/ci-self-test.yml +++ b/.github/workflows/ci-self-test.yml @@ -44,7 +44,7 @@ concurrency: jobs: self-test: - uses: YiAgent/OpenCI/.github/workflows/reusable-self-test.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-self-test.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: runner: ubuntu-latest secrets: inherit diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 946e17a..86108ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: ci: needs: guard if: needs.guard.outputs.has-dockerfile == 'true' - uses: YiAgent/OpenCI/.github/workflows/reusable-ci.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-ci.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ github.sha }} registry: ghcr.io diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 3d7ce61..52da573 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -15,6 +15,6 @@ concurrency: jobs: deps: - uses: YiAgent/OpenCI/.github/workflows/reusable-deps.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-deps.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: runner: blacksmith-2vcpu-ubuntu-2404 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2ab4d9a..eca460f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,7 +27,7 @@ concurrency: jobs: docs: - uses: YiAgent/OpenCI/.github/workflows/reusable-docs.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-docs.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: build-cmd: ${{ vars.DOCS_BUILD_CMD || '' }} docs-path: ${{ vars.DOCS_DIR || 'docs' }} diff --git a/.github/workflows/issue-ops.yml b/.github/workflows/issue-ops.yml index 34f3bb8..a35770c 100644 --- a/.github/workflows/issue-ops.yml +++ b/.github/workflows/issue-ops.yml @@ -39,7 +39,7 @@ jobs: && !contains(github.actor, '[bot]')) || (github.event_name == 'issue_comment' && !contains(github.event.comment.user.login, '[bot]')) - uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: mode: lifecycle runner: blacksmith-2vcpu-ubuntu-2404 @@ -52,7 +52,7 @@ jobs: maintenance: if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && inputs.mode == 'maintenance') - uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: mode: maintenance runner: blacksmith-2vcpu-ubuntu-2404 @@ -65,7 +65,7 @@ jobs: manual: if: github.event_name == 'workflow_dispatch' && inputs.mode != 'maintenance' - uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-issue.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: mode: ${{ inputs.mode }} runner: blacksmith-2vcpu-ubuntu-2404 diff --git a/.github/workflows/on-maintenance.yml b/.github/workflows/on-maintenance.yml index b876a89..7a93d45 100644 --- a/.github/workflows/on-maintenance.yml +++ b/.github/workflows/on-maintenance.yml @@ -118,7 +118,7 @@ jobs: if: | !contains(fromJSON('["pr-review","flag-audit"]'), needs.resolve-mode.outputs.mode) - uses: YiAgent/OpenCI/.github/workflows/reusable-maintenance.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-maintenance.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: mode: ${{ needs.resolve-mode.outputs.mode }} openci-ref: ${{ needs.resolve-mode.outputs.openci-ref }} diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index f040a43..60978c9 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -28,7 +28,7 @@ concurrency: jobs: checks: - uses: YiAgent/OpenCI/.github/workflows/reusable-pr.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-pr.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b with: enable-ai-review: true enable-eval: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b9e8e9..1dd0693 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ concurrency: jobs: release: - uses: YiAgent/OpenCI/.github/workflows/reusable-release.yml@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/.github/workflows/reusable-release.yml@0fc8c78445a9735782db5e860c5140f7a3462d0b secrets: inherit with: mode: ${{ inputs.mode || 'marketplace' }} diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml index 1ff00f8..2b06f72 100644 --- a/.github/workflows/reusable-ci.yml +++ b/.github/workflows/reusable-ci.yml @@ -123,7 +123,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Probe secrets @@ -149,7 +149,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - id: detect @@ -173,7 +173,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - id: build @@ -199,7 +199,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - id: scan @@ -218,7 +218,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 @@ -261,7 +261,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - uses: ./.openci/actions/ci/check-migration @@ -280,7 +280,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - uses: ./.openci/actions/ci/eval-smoke @@ -303,7 +303,7 @@ jobs: persist-credentials: false fetch-depth: 0 # required so git ls-tree can resolve the self-ref SHA - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Install yq @@ -467,7 +467,7 @@ jobs: - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Download ci-context artifact diff --git a/.github/workflows/reusable-pr.yml b/.github/workflows/reusable-pr.yml index 00d2eac..e0347c9 100644 --- a/.github/workflows/reusable-pr.yml +++ b/.github/workflows/reusable-pr.yml @@ -96,7 +96,7 @@ jobs: with: persist-credentials: false - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Probe secrets @@ -128,7 +128,7 @@ jobs: with: persist-credentials: false - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Detect (or honour caller override) @@ -414,7 +414,7 @@ jobs: persist-credentials: false fetch-depth: 0 # required so git ls-tree can resolve the self-ref SHA - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: ${{ inputs.openci-ref }} - name: Install yq diff --git a/.github/workflows/reusable-self-test.yml b/.github/workflows/reusable-self-test.yml index 2eb02d1..1431a6f 100644 --- a/.github/workflows/reusable-self-test.yml +++ b/.github/workflows/reusable-self-test.yml @@ -69,11 +69,6 @@ jobs: uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2 with: { persist-credentials: false } - - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba - with: - openci-ref: main - - name: Install actionlint shell: bash run: | @@ -187,7 +182,7 @@ jobs: with: { persist-credentials: false } - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: main @@ -210,7 +205,7 @@ jobs: fetch-depth: 0 - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: main @@ -255,7 +250,7 @@ jobs: persist-credentials: false - name: Resolve OpenCI ref and checkout - uses: YiAgent/OpenCI/actions/_common/resolve-openci@119c3eab2c613bdcc1fbed9b97535f34955defba + uses: YiAgent/OpenCI/actions/_common/resolve-openci@0fc8c78445a9735782db5e860c5140f7a3462d0b with: openci-ref: main diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3458645..47c30cf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -# test.yml — Self-34a93579aac0d1682cc65ab8b7c2c9e2d06b0953ping comprehensive test suite for OpenCI. +# test.yml — Self-bootstrapping comprehensive test suite for OpenCI. # # Test pyramid: # Layer 1: Unit tests (BATS shell + Node.js) — fast, offline, always run @@ -6,7 +6,7 @@ # Layer 3: Agentic eval — calls Claude API to validate skill output shape # Layer 4: Live E2E — fires a real test issue, observes full agentic pipeline # -# The live E2E test makes this workflow self-34a93579aac0d1682cc65ab8b7c2c9e2d06b0953ping: OpenCI tests +# The live E2E test makes this workflow self-bootstrapping: OpenCI tests # itself by triggering its own issue-ops pipeline and verifying the response. name: test @@ -27,7 +27,7 @@ on: type: boolean default: false run-live-e2e: - description: "Run self-34a93579aac0d1682cc65ab8b7c2c9e2d06b0953ping live E2E test (creates a real issue)" + description: "Run self-bootstrapping live E2E test (creates a real issue)" type: boolean default: false run-pr-e2e: @@ -257,7 +257,7 @@ jobs: echo "skip=false" >> "$GITHUB_OUTPUT" fi - - name: Run self-34a93579aac0d1682cc65ab8b7c2c9e2d06b0953ping E2E test + - name: Run self-bootstrapping E2E test if: steps.e2e-gate.outputs.skip != 'true' env: GH_TOKEN: ${{ github.token }} diff --git a/manifest.yml b/manifest.yml index eead0aa..aa232a9 100644 --- a/manifest.yml +++ b/manifest.yml @@ -101,7 +101,7 @@ deps: softprops/action-gh-release: "b4309332981a82ec1c5618f44dd2e27cc8bfbfda" # v3.0.0 # ── Self (OpenCI vendoring itself via remote action reference) ────────── - YiAgent/OpenCI: "119c3eab2c613bdcc1fbed9b97535f34955defba" # resolve-openci bootstrap + YiAgent/OpenCI: "0fc8c78445a9735782db5e860c5140f7a3462d0b" # resolve-openci bootstrap # ───────────────────────────────────────────────────────────────────────────── # Reusable workflow catalog (consumed via `uses: YiAgent/OpenCI/.github/workflows/.yml@`)