diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..091832710 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing + +## Maintainers + +To make sure every Pull Request (PR) is checked, we have **team maintainers**. +Every PR **MUST** be reviewed by at least **one** maintainer (or owner) before it can get merged. +A maintainer should be a contributor and contributed at least 4 accepted PRs. +A contributor should apply as a maintainer in the [Discord #develop](https://discord.gg/fcMQqSMXJy) channel. +The owners or the team maintainers may invite the contributor. +A maintainer should spend some time on code reviews. + +If a maintainer has no time to do that, they should apply to leave the maintainers team and we will give them the honor of being a member of the [advisors +team](https://github.com/orgs/woodpecker-ci/teams/advisors/members). +Of course, if an advisor has time to code review, we will gladly welcome them back to the maintainers team. +If a maintainer is inactive for more than 3 months and forgets to leave the maintainers team, the owners may move him or her from the maintainers team to the advisors team. + +For security reasons, Maintainers must use 2FA for their accounts and if possible provide GPG signed commits. +https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/ +https://help.github.com/articles/signing-commits-with-gpg/ + +## Owners + +Since Woodpecker is a pure community organization without any company support, +to keep the development healthy we will elect two owners every year. +This can also happen when a owner propose a vote or the majority of the maintainers do so. +All maintainers may vote to elect up to two candidates. When the new owners have been elected, the old owners will give up ownership to the newly elected owners. +If an owner is unable to do so, the other owners will assist in ceding ownership to the newly elected owners. + +For security reasons, Owners must use 2FA. +(https://docs.github.com/en/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa) diff --git a/README.md b/README.md index 697eaaba0..e8f1b807f 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,50 @@ +

+ + Woodpecker + +

+
+

+ + + + + + + + + + + + + + + + + + + + + +

+
+ # Woodpecker -A fork of the Drone CI system. - -- Based on the v0.8 code tree -- Fully Apache 2.0, no tiers - -[![Go Report Card](https://goreportcard.com/badge/github.com/woodpecker-ci/woodpecker)](https://goreportcard.com/report/github.com/woodpecker-ci/woodpecker) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![https://discord.gg/fcMQqSMXJy](https://img.shields.io/discord/838698813463724034.svg)](https://discord.gg/fcMQqSMXJy) +> Woodpecker is a community fork of the Drone CI system. ![woodpecker](docs/docs/woodpecker.png) -## .drone.yml +## Usage -- Place your pipeline in a file named `.drone.yml` in your repository +### .woodpecker.yml + +- Place your pipeline in a file named `.woodpecker.yml` in your repository - Pipeline steps can be named as you like - Run any command in the commands section ```yaml -# .drone.yml +# .woodpecker.yml pipeline: build: image: debian @@ -28,7 +56,7 @@ pipeline: - echo "Testing.." ``` -## Build steps are containers +### Build steps are containers - Define any Docker image as context - Install the needed tools in custom Docker images, use them as context @@ -42,13 +70,13 @@ pipeline: - aws help ``` -## File changes are incremental +### File changes are incremental - Woodpecker clones the source code in the beginning pipeline - Changes to files are persisted through steps as the same volume is mounted to all steps ```yaml -# .drone.yml +# .woodpecker.yml pipeline: build: image: debian @@ -60,7 +88,7 @@ pipeline: - cat myfile ``` -## Plugins are straightforward +### Plugins are straightforward - If you copy the same shell script from project to project - Pack it into a plugin instead @@ -80,7 +108,7 @@ kubectl apply -f $PLUGIN_TEMPLATE ``` ```yaml -# .drone.yml +# .woodpecker.yml pipeline: deploy-to-k8s: image: laszlocloud/my-k8s-plugin @@ -91,14 +119,18 @@ pipeline: https://woodpecker-ci.github.io/ -## Who uses Woodpecker +## Who uses Woodpecker? Currently, I know of one organization using Woodpecker. With 50+ users, 130+ repos and more than 1100 builds a week. Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it. +## Contribution + +See [Contributing Guide](CONTRIBUTING.md) + ## License Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply. -Files under the `docs/` folder is licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. It is a derivative work of the https://github.com/drone/docs git repository. +Files under the `docs/` folder are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License.