jelly-beam / rebar3_ex_doc

rebar3 plugin for generating docs with ex_doc
Apache License 2.0
43 stars 13 forks source link

Allow for a control issue to let us know when CI's failing #86

Closed paulo-ferraz-oliveira closed 6 months ago

paulo-ferraz-oliveira commented 6 months ago

I'm proposing a workflow failure verification mechanism, via an issue in this repo., to allow us to understand when the scheduled up_ex_doc_version might be failing.

Note: inspiration to this came from https://docs.renovatebot.com/, and the way they maintain dependency versioning via a control issue.

How does this work?

If rebar3 do dialyzer, ct fails, we reopen (whether it's closed or not) the control issue (#85) and update its title and body, with a link to the failing workflow (after which visual inspect follows). We keep the concurrency of running that workflow to 1 to prevent a further success from closing the issue if it's already open. Hopefully, we'll not have to manage the issue by hand (since the schedule CI workflow should do that for us).

What's the advantage?

This allows us to detect an otherwise silent failure and workaround the fact that, at least for the most important validations (rebar3 ct and rebar3 dialyzer, as expected by workflow ci.yml) we're not failing.

How can I test this?

I've tested this in my fork of rebar3_ex_doc but one easy way to test it would be to:

  1. force-push something to the main branch which would make e.g. dialyzer fail,
  2. dispatch the up_ex_doc_version workflow,
  3. check that issue #85 is reopened
  4. fix what we broke, in 2., and push to the main branch again
  5. re-dispatch the up_ex_doc_version workflow
  6. check that issue #85 is closed