Skip to content

Conversation

@lucasbalieiro
Copy link
Contributor

closes #2

This PR introduces a GitHub Action that publishes the fuzz coverage

  • Runs automatically on:

    • any push to main that touches the corpus,
    • nightly (cron),
    • or manually via workflow_dispatch.
  • Builds the fuzz targets, computes coverage using llvm-cov / llvm-profdata, and publishes the resulting coverage report to this repo’s GitHub Pages.

  • Adds a scripts/ folder with fuzz_coverage.sh script so the whole process can be executed locally with the same behavior as CI.

@lucasbalieiro
Copy link
Contributor Author

@plebhash, for this to work we need to update this config on the repo to enable github pages:

image

This is an example of how it will be when published: https://lucasbalieiro.github.io/stratum-fuzzing-corpus/

And this is successful execution of the workflow: https://github.com/lucasbalieiro/stratum-fuzzing-corpus/actions/runs/19488312719

@lucasbalieiro lucasbalieiro marked this pull request as ready for review November 19, 2025 03:15
@plebhash
Copy link
Member

don't we need to push things to https://stratum.github.io?

@lucasbalieiro
Copy link
Contributor Author

lucasbalieiro commented Nov 19, 2025

don't we need to push things to https://stratum.github.io?

I don't know if we can do this. I'll check.

Is this the github pages of the main repo?

@plebhash
Copy link
Member

actually, I should have said this: https://github.com/stratum-mining/stratum-mining.github.io

the repo has been archived and unmaintained for a long time, but I guess we could bring it back to life if necessary

anyways, overall it's not clear to me what I'm supposed to tweak on the config pages from the screenshot above

@lucasbalieiro
Copy link
Contributor Author

I don't know if we can do this. I'll check.

I did a quick check in the actions/deploy-pages@v4 docs, and it is not possible to publish GitHub Pages on a different repo. If we decide to do it from this repo, i think i can test a few workarounds, but they’re a bit hacky.

actually, I should have said this: https://github.com/stratum-mining/stratum-mining.github.io
the repo has been archived and unmaintained for a long time, but I guess we could bring it back to life if necessary

That part is really your call, we don’t strictly need to host Pages elsewhere. While working on this PR, my initial plan was to keep everything here and just link the generated GitHub Page on the other repos: "Here is our fuzz coverage: [link]"
If we do prefer hosting Pages in another repo, I’ll turn this PR into a draft and rethink where the GitHub Action should run and adapt where needed.

anyways, overall it's not clear to me what I'm supposed to tweak on the config pages from the screenshot above

image
  1. Open Settings in the repo that will host GitHub Pages (either this one or the other repo).
  2. Go to the Pages section.
  3. In the dropdown, select GitHub Actions as the source.

And that’s it.

@plebhash
Copy link
Member

about the screenshot instructions:

that's what we already have on the settings, I guess that's why I was confused... so I guess no action needed?

about the Github Pages hosting, I'm still a bit confused... assuming we don't take any action to set up any dedicated repo for Github Pages, which URL will CI deploy the coverage pages to?

@lucasbalieiro
Copy link
Contributor Author

that's what we already have on the settings, I guess that's why I was confused... so I guess no action needed?

Yeah, then we’re good.

about the Github Pages hosting, I'm still a bit confused... assuming we don't take any action to set up any dedicated repo for Github Pages, which URL will CI deploy the coverage pages to?

GitHub Pages works on a per-repository basis. So if we run the action in this repo, the coverage report will land at:

https://stratum-mining.github.io/stratum-fuzzing-corpus/

I’m basing that on what happened on my fork, which generated:

https://lucasbalieiro.github.io/stratum-fuzzing-corpus/

@plebhash plebhash merged commit 9972bc3 into stratum-mining:main Nov 20, 2025
@plebhash
Copy link
Member

@plebhash
Copy link
Member

it's live!

https://stratum-mining.github.io/stratum-fuzzing-corpus/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

coverage visualization

2 participants