Adopt the LibreCode Playwright workflow template
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- docker, github-actions, java, php, playwright, typescript
- Ambito
- ci-cd, devops, testing-qa
Direzione di ricerca
Read the existing workflow, .github/workflows/playwright.yml.patch, playwright.config.ts, playwright/start-nextcloud-server.mjs, and playwright/router.php. Start by running the complete Playwright suite and reviewing the PoC dependency mapping. Done means the synchronized catalog workflow and patch pass repeatedly, local execution and diagnostics work, email and runtime tools remain functional, and obsolete server infrastructure is removed only after validation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
LibreSign currently has a project-specific Playwright workflow.
A proof of concept is validating the current Nextcloud E2E test architecture, and the LibreCode workflow catalog will provide a generic Playwright workflow based on the upstream Nextcloud template.
Once both parts are ready, LibreSign should consume the organization template through the same synchronization and patch model already used for other workflows.
Goal
Replace the manually maintained LibreSign Playwright workflow with the LibreCode organization Playwright template.
Keep LibreSign-specific runtime setup inside this repository.
The final setup should be familiar to developers who already work with Playwright in current Nextcloud applications.
Workflow source
Use the Playwright workflow materialized from the LibreCode workflow catalog.
Do not keep an independent full copy of the workflow as the long-term source of truth.
The generated workflow must remain compatible with the existing workflow synchronization process.
LibreSign consumer patch
If LibreSign needs workflow-level differences, keep them in:
.github/workflows/playwright.yml.patch
Keep this patch small.
A workflow patch is appropriate for consumer-only CI differences such as:
- branch or path filters;
- a service container required by LibreSign;
- a LibreSign-only workflow input;
- other small GitHub Actions differences that cannot live in the Playwright bootstrap.
Do not put application setup commands in the workflow patch when they can live in the project bootstrap.
LibreSign bootstrap
Use the Playwright environment validated by the PoC.
Keep project-specific runtime setup in files such as:
playwright.config.ts
playwright/start-nextcloud-server.mjs
This setup owns LibreSign-specific requirements, including where applicable:
notifications;activity;- Mailpit connectivity;
- Java;
- JSignPdf;
- PDFtk;
- LibreSign local certificates;
- LibreSign OpenSSL test configuration;
- required PHP extensions;
- required operating-system packages;
- LibreSign-specific readiness checks.
Do not move these requirements into the generic organization workflow.
Dependency placement
Use the dependency mapping produced by the PoC.
Keep each dependency in the layer that needs it:
- GitHub Actions runner;
- Playwright/browser environment;
- Nextcloud runtime container;
- LibreSign runtime/bootstrap.
Do not copy old setup steps only because they existed in the previous workflow.
Mailpit
Preserve the existing email E2E coverage.
The final environment must allow:
- Nextcloud to send messages to Mailpit;
- Playwright helpers to read those messages.
Keep Mailpit local to the test environment.
Binary cache
Preserve an effective cache for LibreSign binary payloads.
Adapt the current cache to the managed Nextcloud container when needed.
The final workflow should not download large LibreSign runtime binaries on every run when a valid cache is available.
Remove replaced infrastructure
Only after the new synchronized workflow passes the complete suite, remove old E2E infrastructure that is no longer used.
Review at least:
- direct test-server startup in GitHub Actions;
- old server process management;
- old readiness checks;
playwright/router.php.
Remove a file or step only when the new environment fully replaces its responsibility.
Reports and diagnostics
Keep the report behavior provided by the organization workflow.
Also keep project-specific diagnostics available when useful, including Nextcloud logs and test-server/container logs.
Do not duplicate generic report handling already provided by the organization template.
Local development
Document the normal local command for Playwright.
A developer with Docker and the repository dependencies should be able to start the same managed Nextcloud test environment from the project command without reproducing CI steps manually.
Validation
Before removing the old workflow path:
- run the complete Playwright suite;
- verify email flows;
- verify Java, JSignPdf, and PDFtk;
- verify certificate/OpenSSL setup;
- verify clean environment shutdown;
- verify local execution;
- verify Playwright reports and traces;
- verify workflow synchronization;
- verify the LibreSign workflow patch applies cleanly;
- run the synchronized workflow more than once.
Out of scope
Do not:
- redesign existing E2E scenarios;
- increase workers only because the template supports it;
- enable sharding without checking LibreSign state isolation;
- move LibreSign runtime setup to the organization template;
- change production application behavior;
- perform unrelated CI cleanup.
Done when
- LibreSign receives the Playwright workflow from the LibreCode workflow catalog.
- Any consumer-only workflow differences are kept in a small
.yml.patch. - LibreSign-specific setup stays in the project bootstrap.
- The full existing Playwright suite passes.
- Mailpit works.
- LibreSign runtime tools work.
- Binary caching remains effective.
- Reports and failure diagnostics remain available.
- Old test-server infrastructure is removed when no longer needed.
- Local Playwright execution is documented.
- Future workflow catalog updates can be synchronized normally.
- Lingua principale
- PHP
- Stelle
- 828
- Fork
- 157
- Merge medio
- 6h 48m
- PR unite (30g)
- 622
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- 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 LibreSign/libresign
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LibreSign/libresign#8284 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di LibreSign/libresign
Issue simili
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
UX
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ProfessionalWiki/NeoWiki#1573 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100