Assuming we have light-weight CI triggered by push/pull request, its potentially useful to have more thorough CI which is manually invoked. There are several options for achieving this.
Pull Request Reviews
Labeled Pull Requests
Comments (bot style)
PRR
When a user with authority approves a PR, it invokes the thorough CI as a check (if not already triggered by another PRR.
This thorough check would then block the PR until success
Would need to only invoke this on PRR events, otherwise
This would run the workflow within the PR (not sure if it would trigger on HEAD or merged)
PRR's do not seem to be invalidated by updates to the branch - so probably don't want to run pr updates. Not sure how to re-trigger (re-review / edited review?)
Optionally, select Dismiss stale pull request approvals when new commits are pushed. This dismisses a pull request approval review when a code-modifying commit is pushed to the branch.
This setting is just for protected branches - might need to make an action on pr updates which does that for us?
Labeled PR
Can be invoked when the label is applied
Part of the PR event
Woudl need to be careful that any subsequent updates to the PR are not thoroguh - but then re-invoking requires remove label + add label.
Comment Based
Action is fired for any issue comment
job.if to make sure this is allowed
Can bot a reaction/comments to report status.
Can report a status / check to block CI.
The workflow which is executed is triggered from master/default branch - not what is contained within the branch. This is sub-optimal so would have to move the build steps into a script file within the repo.
A bit awkward to invoke this on HEAD of the PR and on the merged part (though that also applies to PR invoked stuff).
Assuming we have light-weight CI triggered by push/pull request, its potentially useful to have more thorough CI which is manually invoked. There are several options for achieving this.
PRR
Labeled PR
Comment Based
job.if
to make sure this is allowed