Separate ordinary PR tests and docs builds from privileged publishing
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Start by reading .github/workflows/test_and_docs.yml and .github/workflows/module_tests.yml, then trace their callers, required checks, and release and documentation publishing jobs. Map which jobs receive secrets, write permissions, checkout credentials, and artifacts; define separate trusted publishing paths and preserve the approval protected QNX workflow. Done means all acceptance criteria pass, including fork PR validation, merge queue runs, and release behavior.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Ordinary PR tests and documentation builds should validate proposed code with minimal permissions, while publication uses a separate trust boundary. Review their current use of pull_request_target independently of the Bazel cache migration in #457.
Current setup
test_and_docs.ymlusespull_request_targetexplicitly to provide secrets to fork runs, checks out the PR head, and executes tests, repository scripts, and documentation builds. Its build job hascontents: writeandpull-requests: write; release uploads are conditional, but those token permissions apply to the whole job. Documentation deployment is already a separate job.module_tests.ymlis called by that workflow withsecrets: inherit, checks out the PR head, and executes module tests. It has a read-only token, but receives the optional snapshot-mirror secret through the caller.
For executing proposed code, pull_request_target also means workflow changes in the PR are not exercised by that PR run. GitHub recommends avoiding this event when building or running PR code.
Scope
QNX is excluded from this migration: it requires license material and credentials to build at all, and its secret-bearing runs are protected by an existing approval process. Preserve that approved execution path. This issue does not propose moving QNX to secret-free fork PR builds or replacing its approval mechanism.
Proposed outcome
- Run ordinary PR tests and documentation builds through
pull_requestwith read-only repository permissions and no repository secrets. Determine how to handle the optional snapshot mirror for those builds. - Keep Pages publishing, release uploads, and PR metadata writes in separate trusted jobs or workflows with narrowly scoped permissions. Define how fork PR documentation previews are published without executing PR-provided scripts with publishing credentials.
- Review inherited secrets, persisted checkout credentials, artifact handoff, cache publication, and required-check names within the tests/docs split. Privileged jobs must not execute scripts supplied by an untrusted build artifact.
Acceptance criteria
- Ordinary fork PR tests and docs builds work without write tokens or repository secrets.
- PR changes to those validation workflows are exercised by PR validation.
- Documentation publishing, required checks, merge-queue runs, and release jobs retain their intended behavior.
- The existing approval-protected QNX workflow and its required secrets remain functional and outside this change.
- The cache PR remains limited to caching.
- Langage dominant
- Python
- Étoiles
- 6
- Forks
- 46
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 29
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de eclipse-score/reference_integration
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
eclipse-score/reference_integration#460 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
eclipse-score/reference_integration#430 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
os_images as a dev dependencyPeut-être pris @odra l’a pris il y a 16 jours. Ouverte
eclipse-score/reference_integration#409 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
# Raspberry Pi 5 (aarch64) Image — Implementation PlanPeut-être pris @lurtz l’a pris il y a 4 jours. Ouverte
eclipse-score/reference_integration#403 · 2 commentaires · 4 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
Coverage calculation for C++ and RustPeut-être à nouveau libre @dcalavrezo-qorix l’a pris il y a 107 jours, et aucune pull request n’est ouverte. Ouvertebug
eclipse-score/reference_integration#259 · 6 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de eclipse-score/reference_integration
Issues similaires
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)Peut-être pris @geyazheng l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
langchain-ai/langchain-aws#1469 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
EESSI/docs#949 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
b4b usability
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
fix(schedule): align list_tasks since cursor filter boundary from strict > to >=Peut-être pris @bfs2021 l’a pris aujourd’hui. Ouverteagent-ready bug p2 schedule
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
allenporter/supernote#540 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
frazane/scoringrules#164 ·
Les mainteneurs répondent en général sous 1 jour