mirror of
https://github.com/actions/runner.git
synced 2025-12-11 12:57:05 +00:00
adr step output and conclusion (#274)
This commit is contained in:
62
docs/adrs/0274-step-outcome-and-conclusion.md
Normal file
62
docs/adrs/0274-step-outcome-and-conclusion.md
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# ADR 0274: Step outcome and conclusion
|
||||||
|
|
||||||
|
**Date**: 2020-01-13
|
||||||
|
|
||||||
|
**Status**: Accepted
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
This ADR proposes adding `steps.<id>.outcome` and `steps.<id>.conclusion` to the steps context.
|
||||||
|
|
||||||
|
This allows downstream a step to run based on whether a previous step succeeded or failed.
|
||||||
|
|
||||||
|
Reminder, currently the steps contains `steps.<id>.outputs`.
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
For steps that have completed, populate `steps.<id>.outcome` and `steps.<id>.conclusion` with one of the following values:
|
||||||
|
|
||||||
|
- `success`
|
||||||
|
- `failure`
|
||||||
|
- `cancelled`
|
||||||
|
- `skipped`
|
||||||
|
|
||||||
|
When a continue-on-error step fails, the outcome will be `failure` even though the final conclusion is `success`.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- id: experimental
|
||||||
|
continue-on-error: true
|
||||||
|
run: ./build.sh experimental
|
||||||
|
|
||||||
|
- if: ${{ steps.experimental.outcome == 'success' }}
|
||||||
|
run: ./publish.sh experimental
|
||||||
|
```
|
||||||
|
|
||||||
|
### Terminology
|
||||||
|
|
||||||
|
The runs API uses the term `conclusion`.
|
||||||
|
|
||||||
|
Therefore we use a different term `outcome` for the value prior to continue-on-error.
|
||||||
|
|
||||||
|
The following is a snippet from the runs API response payload:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"name": "Set up job",
|
||||||
|
"status": "completed",
|
||||||
|
"conclusion": "success",
|
||||||
|
"number": 1,
|
||||||
|
"started_at": "2020-01-09T11:06:16.000-05:00",
|
||||||
|
"completed_at": "2020-01-09T11:06:18.000-05:00"
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
## Consequences
|
||||||
|
|
||||||
|
- Update runner
|
||||||
|
- Update [docs](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#steps-context)
|
||||||
Reference in New Issue
Block a user