From 072f40850d6c2472f94de9a22ea988ab75e892aa Mon Sep 17 00:00:00 2001 From: Marc Cataford Date: Sat, 3 Aug 2024 14:01:21 -0400 Subject: [PATCH] docs: add feature support tracker --- README.md | 7 ++++++ WORKFLOW_SUPPORT.md | 53 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 WORKFLOW_SUPPORT.md diff --git a/README.md b/README.md index 3cd929f..3359284 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,10 @@ ## Overview Courgette is a homegrown Forgejo/Act compatible runner (or aspires to be someday). + +## Featureset + +The first goal of this project is to reach feature parity with Github Actions's offering (see [the feature support +tracker](./WORKFLOW_SUPPORT.md)). + +Once this is achieved, extensions to the format will be considered to enhance the design and fix design flaws of the original spec. diff --git a/WORKFLOW_SUPPORT.md b/WORKFLOW_SUPPORT.md new file mode 100644 index 0000000..77a2de4 --- /dev/null +++ b/WORKFLOW_SUPPORT.md @@ -0,0 +1,53 @@ +# Workflow support + +Using [Github Actions workflow +syntax](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions) as a guide, here is an overview of the feature support / parity of Courgette: + +## Schema keys + +- [ ] name +- [ ] run-name +- [ ] on +- [ ] permissions +- [ ] env +- [ ] defaults +- [x] jobs + - [ ] jobs..name + - [ ] jobs..permissions + - [ ] jobs..needs + - [ ] jobs..if + - [x] jobs..runs-on + - [ ] jobs..environment + - [ ] jobs..concurrency + - [ ] jobs..outputs + - [ ] jobs..env + - [ ] jobs..defaults + - [ ] jobs..timeout-minutes + - [ ] jobs..strategy + - [ ] jobs..container + - [ ] jobs..continue-on-error + - [ ] jobs..services + - [ ] jobs..uses + - [ ] jobs..with + - [ ] jobs..secrets + - [ ] jobs..def + - [x] jobs..steps + - [ ] jobs..steps[*].id + - [ ] jobs..steps[*].if + - [ ] jobs..steps[*].name + - [ ] jobs..steps[*].uses + - [x] jobs..steps[*].run + - [ ] jobs..steps[*].working-directory + - [ ] jobs..steps[*].shell + - [ ] jobs..steps[*].with + - [ ] jobs..steps[*].env + - [ ] jobs..steps[*].continue-on-error + - [ ] jobs..steps[*].timeout-minutes + +## Behaviours + +- [ ] Job concurrency +- [ ] Logging to files +- [ ] Support Actions +- [ ] Support built-in functions +- [ ] Replay jobs from workflow