cf. https://github.com/pipe-cd/pipecd/discussions/5820 ToDo List ## ASAP - [x] Init: Create an empty repo (this repo) - [x] Determine the directory structure - [x] Example: - [x] Migrate the example plugin to the repo - [x] README for users - [x] Config of the example plugin?? - [x] Link to plugins -> Unnecessary - [x] Example Usage (pipe-cd/pipecd repo??) - -> manage in https://github.com/pipe-cd/pipecd/pull/5878 - [x] CONTRIBUTING.md for contributors - [x] **Flow and requirements for adding a new plugin to the repo** - [x] Issue template - [x] Who will determine the plugin dir? - [x] PR template (by Makefile?) - [x] add to CONTRIBUTING.md - [x] **Who will lead the maintenance of each plugin?** - I want at least one person besides the PipeCD core maintainers - What if the maintenance became inactive? Change the maintainer? Deprecate the plugin? -> TBD - [x] Review/merge rules - [x] Define Who ([Based on CODEOWNERS](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/.github/CODEOWNERS) seems good) - [x] How many reviews -> at first, one of CODEOWNERS? - -> One. we can define only one value for one repo. - [x] Set the repo rule - [x] add to CONTRIBUTING.md - [x] Lifecycle of Code Owners - [x] How to change the stability level - [x] CI - [x] lint, build, test, ~security scanning...~ - Should test level depend on the plugin? -> Yes - [x] DCO - [x] Sync docs ## Just before publish - [x] Release binaries of the example plugin ## Later (rough at first) - [ ] Release flow - [ ] When to trigger - [ ] Who triggers - [ ] Versioning (semver) - Independent versioning for each plugin? - How to manage version dependencies with PipeCD core/SDK - [ ] Create a GHA workflow - [ ] ChangeLog? - [x] How to handle docs for each plugin? - Where to write -> Each README? - What format to use? - Want to standardize how to document configuration fields and supported features - [ ] Define Stability Levels (InDev/Alpha/Beta/Stable) - [ ] Define the criteria - [ ] Standardize the docs/README format - cf. metadata.json https://github.com/open-telemetry/opentelemetry-collector/blob/main/cmd/mdatagen/metadata-schema.yaml - [x] Issue templates (Bug, enhancement, new feature, ) - [x] Put Issues/PRs a label automatically (e.g. `plugin/example-stage`, `plugin/azure-function`) - [x] Issues -> GHA - [x] PRs -> labeler - [ ] security scanning in CI - [ ] Report coverage in CI - [ ] MergeQueue for secure and stable merge - [ ] dependency updates (dependabot?) - [ ] Define the rule for issue triage
cf. pipe-cd/pipecd#5820
ToDo List
ASAP
Init: Create an empty repo (this repo)
Determine the directory structure
Example:
README for users
CONTRIBUTING.md for contributors
CI
security scanning...Just before publish
Later (rough at first)
Release flow
How to handle docs for each plugin?
Define Stability Levels (InDev/Alpha/Beta/Stable)
Standardize the docs/README format
Issue templates (Bug, enhancement, new feature, )
Put Issues/PRs a label automatically (e.g.
plugin/example-stage,plugin/azure-function)security scanning in CI
Report coverage in CI
MergeQueue for secure and stable merge
dependency updates (dependabot?)
Define the rule for issue triage