Community Guide (#296)

Add a Community-Guide

template was taken from [gitea](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md)

Signed-off-by: 6543 <6543@obermui.de>
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: Malachi Soord <inverse.chi@gmail.com>
This commit is contained in:
6543 2021-09-11 23:45:18 +02:00 committed by GitHub
parent 3dd8092012
commit a07f120d12
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 78 additions and 16 deletions

30
CONTRIBUTING.md Normal file
View file

@ -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)

View file

@ -1,22 +1,50 @@
<p align="center">
<a href="https://github.com/woodpecker-ci/woodpecker/">
<img alt="Woodpecker" src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/master/docs/static/img/logo.svg" width="220"/>
</a>
</p>
<br/>
<p align="center">
<a href="https://wp.laszlo.cloud/woodpecker-ci/woodpecker" title="Build Status">
<img src="https://wp.laszlo.cloud/api/badges/woodpecker-ci/woodpecker/status.svg">
</a>
<a href="https://discord.gg/fcMQqSMXJy" title="Join the Discord chat at https://discord.gg/fcMQqSMXJy">
<img src="https://img.shields.io/discord/838698813463724034.svg">
</a>
<a href="https://goreportcard.com/badge/github.com/woodpecker-ci/woodpecker" title="Go Report Card">
<img src="https://goreportcard.com/badge/github.com/woodpecker-ci/woodpecker">
</a>
<a href="https://godoc.org/github.com/woodpecker-ci/woodpecker" title="GoDoc">
<img src="https://godoc.org/github.com/woodpecker-ci/woodpecker?status.svg">
</a>
<a href="https://github.com/woodpecker-ci/woodpecker/releases/latest" title="GitHub release">
<img src="https://img.shields.io/github/v/release/woodpecker-ci/woodpecker?sort=semver">
</a>
<a href="https://hub.docker.com/r/woodpeckerci/woodpecker-server" title="Docker pulls">
<img src="https://img.shields.io/docker/pulls/woodpeckerci/woodpecker-server">
</a>
<a href="https://opensource.org/licenses/Apache-2.0" title="License: Apache-2.0">
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg">
</a>
</p>
<br/>
# Woodpecker # Woodpecker
A fork of the Drone CI system. > Woodpecker is a community 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](docs/docs/woodpecker.png) ![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 - Pipeline steps can be named as you like
- Run any command in the commands section - Run any command in the commands section
```yaml ```yaml
# .drone.yml # .woodpecker.yml
pipeline: pipeline:
build: build:
image: debian image: debian
@ -28,7 +56,7 @@ pipeline:
- echo "Testing.." - echo "Testing.."
``` ```
## Build steps are containers ### Build steps are containers
- Define any Docker image as context - Define any Docker image as context
- Install the needed tools in custom Docker images, use them as context - Install the needed tools in custom Docker images, use them as context
@ -42,13 +70,13 @@ pipeline:
- aws help - aws help
``` ```
## File changes are incremental ### File changes are incremental
- Woodpecker clones the source code in the beginning pipeline - 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 - Changes to files are persisted through steps as the same volume is mounted to all steps
```yaml ```yaml
# .drone.yml # .woodpecker.yml
pipeline: pipeline:
build: build:
image: debian image: debian
@ -60,7 +88,7 @@ pipeline:
- cat myfile - cat myfile
``` ```
## Plugins are straightforward ### Plugins are straightforward
- If you copy the same shell script from project to project - If you copy the same shell script from project to project
- Pack it into a plugin instead - Pack it into a plugin instead
@ -80,7 +108,7 @@ kubectl apply -f $PLUGIN_TEMPLATE
``` ```
```yaml ```yaml
# .drone.yml # .woodpecker.yml
pipeline: pipeline:
deploy-to-k8s: deploy-to-k8s:
image: laszlocloud/my-k8s-plugin image: laszlocloud/my-k8s-plugin
@ -91,14 +119,18 @@ pipeline:
https://woodpecker-ci.github.io/ 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. 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. Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it.
## Contribution
See [Contributing Guide](CONTRIBUTING.md)
## License ## 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. 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.