Compare commits

...

3 Commits

Author SHA1 Message Date
eric sciple
2aff5d4d8b . 2021-04-07 11:51:58 -05:00
eric sciple
ec910bab3d . 2021-04-07 11:18:05 -05:00
eric sciple
8932ad8d94 support all action types within composite actions 2021-04-07 10:49:40 -05:00

View File

@@ -0,0 +1,44 @@
**Date**: 2021-04-06
**Status**: Accepted
## Context
We will add support for actions to be referenced, with composite actions.
## Decision
TODO:
- Decide recursion limit
## Consequences
TODO: Move these details into a tracking issue instead
- Launch
- New feature flag
- Move Action policy enforcement from workflow run, to resolve actions endpoint
- Runner
- New feature flag
- Download all nested actions
- Decide recursion limit
- src/Runner.Worker/ActionManager.cs
- Precursor: Remove feature flag DistributedTask.NewActionMetadata
- Update schema to support `uses` within a composite step
- src/Runner.Worker/action_yaml.json
- src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs
- Mimic server validation, generate IDs, etc
- Handle inputs/outputs between nested layers
- Update server to generate context names when empty
- Fix issue with `hashFiles` within a composite action
- https://github.com/actions/runner/issues/991
- Support container-actions and actions with pre-step and post-step
- Composite actions is intended double as a re-use mechanism. So pre/post support is critical, and should execute in the normal order.
- Investigate how to deal with pre-steps. Today, nested steps are created just-in-time. However, pre-steps are generally executed before regular steps. Also, container actions implicitly have a pre-step to pull or build the image
- Investigate whether we copy the continue-on-error setting to the pre/post steps
- Investigate CompositeActionHandler.cs especially wrt clearing the output scopes
- Investigate whether we need additional validation to restrict contexts available to pre-step condition and post-step condition
- Testing
- Support all types of action manifests: Node.js, Dockerfile, `docker://`, composite, no manifest only Dockerfile
- Support all types of action references: `docker://`, `./`, owner/repo@ref
- Support for actions with pre-step and post-step. For pre/post, also test intra-action-state