Fix scheduled CI upgrade check workflows failing at startup - #65168
Conversation
The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run.
bugraoz93
left a comment
There was a problem hiding this comment.
Just a curious question. If I set these permissions for other CIs, it won't cause anything from forked branches to make any writes, right? This still needs 4 eyes. Additionally, let's assume it is not a scheduled job
…kflows (#65168) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Backport successfully created: v3-2-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
…kflows (#65168) (#65176) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Yep. Wokrflows from fork cannot get write access nor secrets. |
…kflows (#65168) (#65176) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
…kflows (#65168) (#65176) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
…kflows (#65168) (#65176) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
…kflows (#65168) (#65176) The scheduled upgrade check wrappers declared `contents: read`, which caps the permissions of the reusable `upgrade-check.yml` they call. That workflow needs `contents: write` and `pull-requests: write` to push the upgrade branch and open a draft PR, so every scheduled run failed immediately with startup_failure: The workflow is requesting 'contents: write, pull-requests: write', but is only allowed 'contents: read, pull-requests: none'. Raise the caller permissions to the ceiling required by the callee so the scheduled upgrade PR job can actually run. (cherry picked from commit 8291f37) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
The scheduled upgrade-check wrappers (
scheduled-upgrade-check-main.ymlandscheduled-upgrade-check-v3-2-test.yml) declaredpermissions: contents: read, which capped the permissions of the reusableupgrade-check.ymlworkflow they call. That workflow needscontents: writeandpull-requests: writeto push the upgrade branch and open the draft PR viabreeze ci upgrade --create-pr.As a result every scheduled run since #64836 failed immediately with
startup_failure:See failing run: https://github.com/apache/airflow/actions/runs/24329934582
This raises the caller permissions in both scheduled wrappers to match the ceiling required by the callee so the upgrade PR job can actually run.
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.6) following the guidelines