Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Adopt the LibreCode Playwright workflow template

Aperta
#8,728 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

javascript

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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LibreSign/libresign

Tutte le issue di LibreSign/libresign

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.