ci: a publish_snapshot.yml dry run still passes the Nexus secrets to the build
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
Direzione di ricerca
Leggi publish_snapshot.yml e controlla l’ambiente dello step Build and install e le condizioni dry_run descritte nell’issue. Verifica come il workflow gestisce le credenziali sia nelle esecuzioni a secco sia in quelle di pubblicazione, quindi assicurati che un’esecuzione a secco non esponga i segreti Nexus, mentre una pubblicazione normale possa ancora eseguire il deployment; controlla il diff del workflow per entrambi i casi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What is the problem?
publish_snapshot.yml has a dry_run input that builds and verifies the jars without deploying them. A dry run skips the "Configure Maven server credentials" step and uses the install goal, but the Build and install step still sets both Nexus secrets in its environment:
- name: Build and ${{ inputs.dry_run && 'install' || 'deploy' }}
env:
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PW: ${{ secrets.NEXUS_PW }}
GOAL: ${{ inputs.dry_run && 'install' || 'deploy' }}
So a dry run is not credential-free. Maven, its plugins and the build scripts they run can all read NEXUS_USER and NEXUS_PW, though a dry run never needs them.
This is hardening, not a known leak. The secrets are repository Actions secrets, and anyone with write access can already run a modified workflow that uses them. The point is that a run advertised as safe to try, and one that changes allows in a fork (if: github.repository == 'apache/datafusion-comet' || inputs.dry_run), should not carry the publishing credentials at all.
Proposal
Make a dry run credential-free. The smallest change is to leave the variables empty when dry_run is set:
NEXUS_USER: ${{ inputs.dry_run && '' || secrets.NEXUS_USER }}
NEXUS_PW: ${{ inputs.dry_run && '' || secrets.NEXUS_PW }}
A stronger form builds and verifies the jars in one job with no secrets, uploads them, and deploys from a second job that has the secrets and runs only deploy on the verified output. That also keeps the credentials away from the five-variant clean and compile loop in a real run.
Raised in review of #7311, which does not touch this file.
- Lingua principale
- Scala
- Stelle
- 1.3k
- Fork
- 398
- Merge medio
- 3g 4h
- PR unite (30g)
- 363
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/datafusion-comet
-
area:ci bug priority:low requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datafusion-comet#7315 ·
I maintainer di solito rispondono entro 2 giorni
-
requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/datafusion-comet#7240 ·
I maintainer di solito rispondono entro 2 giorni
-
bug priority:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/datafusion-comet#7176 ·
I maintainer di solito rispondono entro 2 giorni
-
docs: update Scala comments that reference the removed iceberg-writes.md pageForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaenhancement
Difficoltà 1/5 1-3 ore Idoneità per principianti 83/100
apache/datafusion-comet#7101 ·
I maintainer di solito rispondono entro 2 giorni
-
requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/datafusion-comet#7001 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di apache/datafusion-comet
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
lichess-org/lila#22324 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Users who join a new meeting at the same moment: one sometimes gets "Ops, something went wrong" because bbb-web drops their registration (race on `Meeting.userCustomData`)Forse già presa @antobinary l’ha presa oggi. Apertamodule: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bigbluebutton/bigbluebutton#26318 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
canton-network/splice#8087 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno