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:
force-push something to the main branch which would make e.g. dialyzer fail,
dispatch the up_ex_doc_version workflow,
check that issue #85 is reopened
fix what we broke, in 2., and push to the main branch again
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 to1
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
andrebar3 dialyzer
, as expected by workflowci.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:dialyzer
fail,up_ex_doc_version
workflow,up_ex_doc_version
workflow