Files
galaxy/.github/workflows
Safia AbdallaandOz 0ca787cac3 ci: drop removed focus input from review-pull-request caller (#9231)
## Description
The local `Review Pull Request` workflow in this repo has been failing
on every `pull_request_target` event with `startup_failure` (no jobs
created) for newly opened PRs. Recent runs that hit this:
- https://github.com/warpdotdev/warp/actions/runs/25059789050
- https://github.com/warpdotdev/warp/actions/runs/25059784082
- https://github.com/warpdotdev/warp/actions/runs/25059568488

### Root cause
`.github/workflows/review-pull-request.yml` declares a `focus` input on
its own `workflow_call` interface and forwards it to the upstream
reusable workflow at
`warpdotdev/oz-for-oss/.github/workflows/review-pull-request.yml@main`.
That upstream workflow's `workflow_call` interface no longer declares
`focus` — it was removed in oz-for-oss commit
[`757b052`](https://github.com/warpdotdev/oz-for-oss/commit/757b052) (PR
#393, "feat(review): allow non-collaborator /oz-review and cap at 3 per
PR"). When the local job tries to forward `focus:` in its `with:` block,
GitHub fails workflow validation before any job is created, which
surfaces as `startup_failure`.

### What this PR changes
Drops every reference to `focus` from the local caller so the contract
matches the upstream `workflow_call` again:
- Removes the `focus` input from `workflow_call.inputs`
- Removes `INPUT_FOCUS` from the `resolve` step's `env`
- Removes the `focus = os.environ.get("INPUT_FOCUS", "")` read and the
heredoc-style `focus<<__EOF__` write to `GITHUB_OUTPUT`
- Removes `focus` from the `resolve` job's `outputs:`
- Removes `focus: ${{ needs.resolve.outputs.focus }}` from the
`review_pr` reusable-workflow `with:`

The forwarded inputs are now `pr_number`, `trigger_source`, `requester`,
and `comment_id`, matching the upstream interface.

### Note on `enforce-pr-issue-state.yml`
While debugging, I confirmed `enforce-pr-issue-state.yml` is
`workflow_call`-only and is not invoked anywhere in this repo (it has
zero historical runs), unlike in `oz-for-oss` where `pr-hooks.yml`
orchestrates enforcement before reviews. That gap is independent of this
fix — `review-pull-request.yml` here listens directly to
`pull_request_target` and does not depend on enforcement output. If we
want enforcement to gate PR reviews on this repo too, that's a follow-up
(either add a `pr-hooks.yml` orchestrator or wire
`enforce-pr-issue-state.yml` to listen to `pull_request_target` directly
and have `review-pull-request.yml` `needs:` it).

## Testing
- `python3 -c "import yaml; yaml.safe_load(...)"` on the modified
workflow to confirm the YAML still parses.
- Diff-checked that the local `with:` block matches the inputs declared
by the upstream `workflow_call` at
`warpdotdev/oz-for-oss/.github/workflows/review-pull-request.yml@main`.
- After this merges, the next `pull_request_target` event on a non-draft
PR should produce a `Review Pull Request` run that actually creates the
`resolve` and `review_pr` jobs instead of failing at startup.

## Server API dependencies
N/A — CI workflow change only.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

_Conversation:
https://staging.warp.dev/conversation/dd8c9b9a-256b-4c79-abc2-cb513f7236b5_

## Changelog Entries for Stable

Co-authored-by: Oz <oz-agent@warp.dev>
2026-04-28 11:07:46 -04:00
..
2026-04-28 08:43:33 -05:00
2026-04-28 08:43:33 -05:00
2026-04-28 08:43:33 -05:00

Release Configurations

This README file documents the format of the release_configurations.json file located in this directory. The file defines Warp's various release channels, and provides values for the various variables that are necessary to run the create_new_releases.yml GitHub workflow.

At some point, we may want to replace this document with a JSON schema file (which could be used to validate the correctness of the configuration as part of PR presubmit).

Fields

  • channel: The channel's unique identifier
  • type: The release cadence. At present, the valid values are "nightly" or "weekly".
  • is_prerelease: If true, the GitHub release for this channel will be marked as prerelease.
  • is_autopush: If true, this channel uses the "latest" keyword in channel_versions.json to automatically deploy new release candidates. Non-autopush channels require a manual change in order to deploy them.
  • release_base_name: The base name of GitHub releases created for this channel.
  • release_body_text: The body text for GitHub releases created for this channel.
  • sentry_project: Which Sentry project should receive crash and error reports for this channel.
  • sentry_environment: The Sentry environment that corresponds to this channel.
  • changelog_slack_channel: The Slack channel where new changelogs will be posted whenever a new release candidates is cut.
  • gcs_cache_control_value: The value of the cache-control response header for release DMGs.
    • IMPORTANT!!: the value of the cache-control header must be all lowercase; uppercase values will not be respected by Cloud CDN.