Skip to content

ci: consolidate android-omnibus deployments on external PRs - #3447

Merged
prasden merged 1 commit into
aws:mainfrom
prasden:manual-approval-gate
Aug 25, 2026
Merged

ci: consolidate android-omnibus deployments on external PRs#3447
prasden merged 1 commit into
aws:mainfrom
prasden:manual-approval-gate

Conversation

@prasden

@prasden prasden commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Context and motivation

Description of changes

  • This PR moves the environment reference outside of the matrix and into a new maintainer-approval job. The environment is declared once and used across jobs.

  • On external contributor PRs, this will cut down the deployments on PRs from 7 to 2 per commit:

    • previously 6 for android + 1 for security review -> now 1 for android-omnibus + 1 for security-review
  • External contributors will still need approval for any workflows to run on their PRs , and device-farm is gated behind the new maintainer-approval check.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

@prasden
prasden requested a review from a team as a code owner August 24, 2026 23:51
@prasden
prasden requested review from dougch and justsmth August 24, 2026 23:52
@github-actions

Copy link
Copy Markdown
Contributor

🔒 Security ReviewView Report

Please review before merging.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.18%. Comparing base (2df1601) to head (862a7d2).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3447      +/-   ##
==========================================
+ Coverage   78.02%   78.18%   +0.16%     
==========================================
  Files         699      699              
  Lines      124589   124592       +3     
  Branches    17286    17290       +4     
==========================================
+ Hits        97209    97418     +209     
+ Misses      26512    26304     -208     
- Partials      868      870       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@prasden
prasden enabled auto-merge (squash) August 25, 2026 03:22
Comment on lines +37 to +38
# It waits until a maintainer approves, so its token sits idle in the runner during that window.
# Empty permissions strip that token to zero scopes, so the waiting job can never touch AWS or the repo.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: This is not accurate:

Suggested change
# It waits until a maintainer approves, so its token sits idle in the runner during that window.
# Empty permissions strip that token to zero scopes, so the waiting job can never touch AWS or the repo.
# the environment's required reviewers must approve before it -- and
# therefore device-farm -- can start. It runs none of its own code, so
# drop the inherited id-token/contents scopes.

name: android-${{ matrix.fips && 'fips-' || '' }}${{ matrix.release && 'release' || 'debug' }}-${{ matrix.shared && 'shared' || 'static' }}
needs: [authorization-check]
environment: ${{ needs.authorization-check.outputs.approval-env == 'manual-approval' && 'manual-approval' || '' }}
needs: [authorization-check, maintainer-approval]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Add comment:

Suggested change
needs: [authorization-check, maintainer-approval]
# SECURITY: maintainer-approval carries the manual-approval environment
# gate. Do not remove it from needs -- it is the only thing keeping
# untrusted fork code from being checked out with AWS credentials in scope
# on external PRs. Any new job in this workflow that checks out fork code
# must depend on maintainer-approval as well.
needs: [authorization-check, maintainer-approval]

@prasden
prasden merged commit 1f371a8 into aws:main Aug 25, 2026
607 of 630 checks passed
@prasden
prasden deleted the manual-approval-gate branch August 31, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants