apache / apache/airflow

Migrate CI-time secret workflows to a deployment environment and re-enable zizmor secrets-outside-env

Open
#69,466 0 comments 0 reactions 0 assignees View on GitHub
area:CI
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 9h
Merged PRs (30d)
472

Description

Follow-up to #69460. That issue (and its first PR) moves the **release-management** workflows to an RM-gated `release` deployment environment. This issue covers the remaining secret-using workflows, which are a different case: most run **automatically on every PR/push** (SLACK notifications, Codecov, docs-staging AWS upload) and therefore **must not** require release-manager approval — so they need a separate, **non-gated** environment purely to scope their secrets, not to restrict who runs them.

### Scope

- [ ] Define a non-gated environment (e.g. `ci`) for CI-time secrets and move `SLACK_BOT_TOKEN`, `CODECOV_TOKEN`, `DOCS_AWS_*`, `CONSTRAINTS_GITHUB_REPOSITORY` into it.
- [ ] Convert the CI-time secret consumers: `ci-amd.yml`, `ci-arm.yml`, `ci-image-checks.yml`, `ci-image-build.yml`, `prod-image-build.yml`, `push-image-cache.yml`, `run-unit-tests.yml`, `integration-system-tests.yml`, `ci-notification.yml`, `ci-duration-monitor.yml`, `e2e-flaky-tests-report.yml`, the scheduled/upgrade-check workflows, and `update-constraints-on-push-stable.yml`.
- [ ] Convert the remaining release workflows that need restructuring: `registry-backfill.yml` / `registry-build.yml` (entry job is a reusable-workflow call, so add a small gating job), and `release_single_dockerhub_image.yml` (scope `DOCKERHUB_*`).
- [ ] Once **every** secret-using workflow references an environment, remove `secrets-outside-env: disable: true` from `.github/zizmor.yml` so the audit enforces the pattern going forward.

Blocked on the environments existing (ASF INFRA), same as #69460.

---
Drafted-by: Claude Code (Opus 4.8); reviewed by @potiuk before posting

Contributor guide

Open the contributing guide

Research direction

Start by reading #69460 and the listed workflows under .github/workflows, then inspect .github/zizmor.yml and the existing secret usage. The work is done when every secret-using workflow references the appropriate environment, the listed release workflows are restructured, and secrets-outside-env: disable: true is removed; ASF INFRA must create the environments first.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, devops, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.