docs: add feature support tracker

This commit is contained in:
Marc 2024-08-03 14:01:21 -04:00
parent 5c029344bc
commit 072f40850d
Signed by: marc
GPG key ID: 048E042F22B5DC79
2 changed files with 60 additions and 0 deletions

View file

@ -3,3 +3,10 @@
## Overview ## Overview
Courgette is a homegrown Forgejo/Act compatible runner (or aspires to be someday). 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.

53
WORKFLOW_SUPPORT.md Normal file
View file

@ -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.<job_id>.name
- [ ] jobs.<job_id>.permissions
- [ ] jobs.<job_id>.needs
- [ ] jobs.<job_id>.if
- [x] jobs.<job_id>.runs-on
- [ ] jobs.<job_id>.environment
- [ ] jobs.<job_id>.concurrency
- [ ] jobs.<job_id>.outputs
- [ ] jobs.<job_id>.env
- [ ] jobs.<job_id>.defaults
- [ ] jobs.<job_id>.timeout-minutes
- [ ] jobs.<job_id>.strategy
- [ ] jobs.<job_id>.container
- [ ] jobs.<job_id>.continue-on-error
- [ ] jobs.<job_id>.services
- [ ] jobs.<job_id>.uses
- [ ] jobs.<job_id>.with
- [ ] jobs.<job_id>.secrets
- [ ] jobs.<job_id>.def
- [x] jobs.<job_id>.steps
- [ ] jobs.<job_id>.steps[*].id
- [ ] jobs.<job_id>.steps[*].if
- [ ] jobs.<job_id>.steps[*].name
- [ ] jobs.<job_id>.steps[*].uses
- [x] jobs.<job_id>.steps[*].run
- [ ] jobs.<job_id>.steps[*].working-directory
- [ ] jobs.<job_id>.steps[*].shell
- [ ] jobs.<job_id>.steps[*].with
- [ ] jobs.<job_id>.steps[*].env
- [ ] jobs.<job_id>.steps[*].continue-on-error
- [ ] jobs.<job_id>.steps[*].timeout-minutes
## Behaviours
- [ ] Job concurrency
- [ ] Logging to files
- [ ] Support Actions
- [ ] Support built-in functions
- [ ] Replay jobs from workflow