From f3c4dc3731d2e481b6419b2e0aafdc6d9c3ced97 Mon Sep 17 00:00:00 2001 From: Amin Chirazi <32016576+AminChirazi@users.noreply.github.com> Date: Tue, 1 Sep 2026 07:52:17 +0200 Subject: [PATCH] ci: remove Operator PR package workflow --- .../workflows/operator-pr-package-caller.yml | 24 -------- .../workflows/operator-pr-package-self.yml | 49 --------------- .github/workflows/operator-pr-package.yml | 60 ------------------- README.md | 19 +----- 4 files changed, 2 insertions(+), 150 deletions(-) delete mode 100644 .github/workflows/operator-pr-package-caller.yml delete mode 100644 .github/workflows/operator-pr-package-self.yml delete mode 100644 .github/workflows/operator-pr-package.yml diff --git a/.github/workflows/operator-pr-package-caller.yml b/.github/workflows/operator-pr-package-caller.yml deleted file mode 100644 index 0495e89..0000000 --- a/.github/workflows/operator-pr-package-caller.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Advisory caller: publishes feature PR packages and syncs reviewer/lifecycle state with Operator. -# Advisory only: nothing here gates a merge. -name: Operator PR package - -on: - pull_request: - types: [opened, ready_for_review, synchronize, - review_requested, review_request_removed, closed] - pull_request_review: - types: [submitted, dismissed] - -permissions: - contents: read - pull-requests: write - -jobs: - publish: - if: >- - github.event.pull_request.head.repo.full_name == github.repository - uses: ./.github/workflows/operator-pr-package.yml - with: - pr-number: ${{ format('{0}', github.event.pull_request.number) }} - secrets: - OPERATOR_ENGINEERING_TOKEN: ${{ secrets.OPERATOR_ENGINEERING_TOKEN }} diff --git a/.github/workflows/operator-pr-package-self.yml b/.github/workflows/operator-pr-package-self.yml deleted file mode 100644 index d254c5f..0000000 --- a/.github/workflows/operator-pr-package-self.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Operator PR package (engineering self-host) - -# Reusable workflow for automators-com/engineering. The repository contains the -# @automators/engineering workspace itself, so npx would resolve the unbuilt local -# package instead of the verified published release. Install the exact release in -# an isolated runner directory, then execute it against the checked-out PR. - -on: - workflow_call: - inputs: - pr-number: - description: Pull request number (defaults to the triggering PR) - required: false - type: string - secrets: - OPERATOR_ENGINEERING_TOKEN: - required: true - -permissions: - contents: read - pull-requests: write - -jobs: - publish: - runs-on: ubuntu-latest - timeout-minutes: 15 - env: - PR_NUMBER: ${{ inputs.pr-number || github.event.pull_request.number }} - ENGINEERING_PACKAGE: "@automators/engineering@0.10.0" - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha || format('refs/pull/{0}/head', inputs.pr-number) }} - - uses: actions/setup-node@v4 - with: - node-version: 22 - - name: Install the verified published CLI outside the workspace - run: npm install --prefix "$RUNNER_TEMP/operator-engineering-cli" --no-save --ignore-scripts "$ENGINEERING_PACKAGE" - - name: Publish review package from the PR - if: github.event_name != 'pull_request_review' && github.event.action != 'closed' && github.event.action != 'review_requested' && github.event.action != 'review_request_removed' - run: '"$RUNNER_TEMP/operator-engineering-cli/node_modules/.bin/automators-engineering" publish pr-package --pr "$PR_NUMBER" --repository "$GITHUB_REPOSITORY" --repository-path "$GITHUB_WORKSPACE"' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OPERATOR_ENGINEERING_TOKEN: ${{ secrets.OPERATOR_ENGINEERING_TOKEN }} - - name: Report PR state and reviewers to Operator - run: '"$RUNNER_TEMP/operator-engineering-cli/node_modules/.bin/automators-engineering" publish pr-state --pr "$PR_NUMBER" --repository "$GITHUB_REPOSITORY" --repository-path "$GITHUB_WORKSPACE"' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OPERATOR_ENGINEERING_TOKEN: ${{ secrets.OPERATOR_ENGINEERING_TOKEN }} diff --git a/.github/workflows/operator-pr-package.yml b/.github/workflows/operator-pr-package.yml deleted file mode 100644 index 48094eb..0000000 --- a/.github/workflows/operator-pr-package.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Operator PR package - -# Reusable workflow: publish a feature PR's Demo / Why / What you get -# sections and demo assets as an Operator review package, and write the -# "Non-developer review" link back into the PR description. Call it from a -# repository workflow on pull_request events (opened, ready_for_review, -# synchronize, review_requested, review_request_removed, closed), on -# pull_request_review events (submitted, dismissed), or via -# workflow_dispatch with a pr-number input. Drafts and PRs without the -# feature sections are skipped inside the CLI, so callers only need a -# cheap body guard. Every run also reports the PR's state to Operator: -# an open PR syncs its requested reviewers so the hub shows who was -# asked (a submitted review drops its author from GitHub's requested -# list, so the card clears within seconds of the review landing), -# merged ships the bound workstream, closed-unmerged cancels it — -# include the review and "closed" triggers in the caller so reviewer -# and lifecycle state stay automatic. - -on: - workflow_call: - inputs: - pr-number: - description: Pull request number (defaults to the triggering PR) - required: false - type: string - secrets: - OPERATOR_ENGINEERING_TOKEN: - required: true - -permissions: - contents: read - pull-requests: write - -jobs: - publish: - runs-on: ubuntu-latest - timeout-minutes: 15 - env: - PR_NUMBER: ${{ inputs.pr-number || github.event.pull_request.number }} - # Exact published version: update deliberately only after verifying the - # replacement release. Never use @latest in this shared failure domain. - ENGINEERING_PACKAGE: "@automators/engineering@0.10.0" - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha || format('refs/pull/{0}/head', inputs.pr-number) }} - - uses: actions/setup-node@v4 - with: - node-version: 22 - - name: Publish review package from the PR - if: github.event_name != 'pull_request_review' && github.event.action != 'closed' && github.event.action != 'review_requested' && github.event.action != 'review_request_removed' - run: npx --yes "$ENGINEERING_PACKAGE" publish pr-package --pr "$PR_NUMBER" --repository "$GITHUB_REPOSITORY" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OPERATOR_ENGINEERING_TOKEN: ${{ secrets.OPERATOR_ENGINEERING_TOKEN }} - - name: Report PR state and reviewers to Operator - run: npx --yes "$ENGINEERING_PACKAGE" publish pr-state --pr "$PR_NUMBER" --repository "$GITHUB_REPOSITORY" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OPERATOR_ENGINEERING_TOKEN: ${{ secrets.OPERATOR_ENGINEERING_TOKEN }} diff --git a/README.md b/README.md index c291067..4056f88 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,4 @@ # Engineering workflows -Public GitHub Actions bridge for Automators repositories that cannot call the private reusable workflows in `automators-com/engineering`. - -## Operator PR package - -`.github/workflows/operator-pr-package.yml` publishes feature pull-request packages to Operator and synchronizes reviewer and merge/close lifecycle state. - -`.github/workflows/operator-pr-package-self.yml` is the narrow self-hosting variant for `automators-com/engineering`. That repository contains the package workspace, so the workflow installs the same pinned release into an isolated runner directory and runs it against the checked-out pull request. - -The bridge intentionally mirrors the protected reusable workflow in `automators-com/engineering` and pins: - -``` -@automators/engineering@0.10.0 -``` - -Never use `@latest`. Publish and verify a replacement package first, update the protected private workflow deliberately, then update this public bridge in the same rollout. - -Public callers must guard the job so it runs only when the pull request head belongs to the repository itself. Fork pull requests must never receive the Operator secret. +Shared organization workflows live here when a public reusable bridge is needed. +There are currently no shared workflows in this repository.