Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add a complete StrykerJS CI workflow and publish reports

Open
#8,813 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, javascript, node.js

Research direction

First resolve prerequisite #8811, then inspect the existing GitHub Actions workflows, LibreSign's Node version, mutation-test npm script, Stryker configuration, and Vitest setup. Add a main/manual workflow that runs the full mutation test without a score gate, preserves supported reports as artifacts, and exposes operational failures and a summary in the log; verify the listed Done criteria.

Written by the indexing model from the issue text.

Description

frontend javascript

Goal

Run the complete LibreSign frontend mutation suite in GitHub Actions and preserve useful mutation reports for maintainers.

This workflow provides the authoritative CI execution surface for complete StrykerJS runs and baseline measurement.

It is not the normal pull-request merge gate.

Prerequisite

The basic Stryker/Vitest integration in #8811 must work reliably.

Execution model

Provide a complete StrykerJS run from GitHub Actions.

Initially support:

  • manual workflow dispatch;
  • another non-PR cadence only when it is useful for maintaining a trustworthy complete baseline.

Do not require the complete StrykerJS suite on every normal pull request.

Normal pull-request mutation protection belongs to the later change-aware workflow.

Runtime

Use the Node version declared by LibreSign rather than hardcoding a divergent project runtime.

Install dependencies with:

npm ci

and invoke the project's mutation-test script.

Keep workflow logic declarative. Do not move application-specific mutation behavior into GitHub Actions when it belongs in Stryker configuration or project scripts.

Reporting

Preserve an HTML and/or machine-readable mutation report where supported.

Make useful reports available as CI artifacts.

The job log must still contain enough information to diagnose the run without requiring artifact download.

Record at minimum:

  • total runtime;
  • generated mutants;
  • killed mutants;
  • surviving mutants;
  • no-coverage mutants;
  • timeout/error mutants;
  • mutation score;
  • StrykerJS version;
  • Node version;
  • LibreSign commit SHA.

Failure behavior

The workflow must fail for operational failures such as:

  • Stryker cannot start;
  • Vitest cannot run;
  • configuration is invalid;
  • the mutation process crashes.

Do not hide failures behind unconditional success handling.

Do not introduce an arbitrary blocking mutation-score threshold in this issue.

Done when

  • A complete StrykerJS run can execute from GitHub Actions.
  • Complete-run reports are inspectable after CI finishes.
  • Operational failures remain visible.
  • The workflow records enough metadata to reproduce and compare runs.
  • The complete run is not required on every normal pull request.
  • No arbitrary merge-blocking score is introduced.

References

  • Parent epic: #8810
Dominant language
PHP
Stars
818
Forks
146
Avg merge
7h 8m
Merged PRs (30d)
549

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from LibreSign/libresign

All issues in LibreSign/libresign

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.