From d3eabbdebc07bdcea012b428b6ae4a5aeda4cdbf Mon Sep 17 00:00:00 2001
From: 6543 <6543@obermui.de>
Date: Fri, 3 Dec 2021 15:36:22 +0100
Subject: [PATCH] Update README (#560)
* Add "Stars over time to README
* Move info from README into docs & link to it
* New CI location
* New screenshot
Co-authored-by: John Olheiser
-
- I5`pF$a<3>E8&)tvtN49 S9rY%WaXi({#-er$rpfKod^CK#l+&-GqCdTmDlOokgQC*E*TpVObhYpeq
z$4Yt(f=Td<<3+Paa1gmg(fvNKBFaL-4Rqi`$WrY4Fr!R9UgMgiLde#Xrzl{Vjzedc
z4&IUpFzLxSCZs=5m)CEDC*$Nl-JPB+fu^^8GX4QJ<@NPtE*BeN4c
+
+
@@ -48,92 +48,38 @@ Please consider to donate and become a backer. 🙏 [[Become a backer](https://o
- Pipeline steps can be named as you like
- Run any command in the commands section
-```yaml
-# .woodpecker.yml
-pipeline:
- build:
- image: debian
- commands:
- - echo "This is the build step"
- a-test-step:
- image: debian
- commands:
- - echo "Testing.."
-```
+[Read More](https://woodpecker-ci.org/docs/usage/intro)
### Build steps are containers
- Define any Docker image as context
- Install the needed tools in custom Docker images, use them as context
-```diff
- pipeline:
- build:
-- image: debian
-+ image: mycompany/image-with-awscli
- commands:
- - aws help
-```
+[Read More](https://woodpecker-ci.org/docs/usage/pipeline-syntax#steps)
-### File changes are incremental
+### Plugins
-- 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
+Woodpecker has [official plugins](https://woodpecker-ci.org/plugins), but you can also use your own.
-```yaml
-# .woodpecker.yml
-pipeline:
- build:
- image: debian
- commands:
- - touch myfile
- a-test-step:
- image: debian
- commands:
- - cat myfile
-```
-
-### Plugins are straightforward
-
-- If you copy the same shell script from project to project
-- Pack it into a plugin instead
-- And make the yaml declarative
-- Plugins are Docker images with your script as an entrypoint
-
-```Dockerfile
-# Dockerfile
-FROM laszlocloud/kubectl
-COPY deploy /usr/local/deploy
-ENTRYPOINT ["/usr/local/deploy"]
-```
-
-```bash
-# deploy
-kubectl apply -f $PLUGIN_TEMPLATE
-```
-
-```yaml
-# .woodpecker.yml
-pipeline:
- deploy-to-k8s:
- image: laszlocloud/my-k8s-plugin
- template: config/k8s/service.yml
-```
+[Read More](https://woodpecker-ci.org/docs/usage/plugins/plugins)
## Documentation
https://woodpecker-ci.org/
-## 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)
+## Who uses Woodpecker?
+
+[Codeberg](https://codeberg.org), the woodpecker project itself, and many others not listed.
+
+Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it.
+
+## Stars over time
+[](https://starchart.cc/woodpecker-ci/woodpecker)
+
## 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.
diff --git a/docs/docs/20-usage/20-pipeline-syntax.md b/docs/docs/20-usage/20-pipeline-syntax.md
index 7c90a2407..c8853dcba 100644
--- a/docs/docs/20-usage/20-pipeline-syntax.md
+++ b/docs/docs/20-usage/20-pipeline-syntax.md
@@ -24,7 +24,7 @@ In the above example we define two pipeline steps, `frontend` and `backend`. The
## Global Pipeline Conditionals
-Woodpecker gives the ability to skip whole pipelines (not just steps) when based on certain conditions.
+Woodpecker gives the ability to skip whole pipelines (not just steps) when based on certain conditions.
### `branches`
Woodpecker can skip commits based on the target branch. If the branch matches the `branches:` block the pipeline is executed, otherwise it is skipped.
@@ -101,7 +101,7 @@ pipeline:
If required, Woodpecker can be made to skip whole pipelines based on `when`. This could be utilised to ensure compliance that only certain jobs run on certain agents (regional restrictions). Or targeting architectures.
-This is achieved by ensuring the `when` block is on the root level. Rather than
+This is achieved by ensuring the `when` block is on the root level.
See [when](#step-when---step-conditional-execution) above to understand all the different types of conditions that can be used.
@@ -125,12 +125,12 @@ pipeline:
```
-Assuming we have two agents, one `arm` and one `amd64`. Previously this pipeline would have executed on **either agent**, as Woodpecker is not fussy about where it runs the pipelines.
+Assuming we have two agents, one `arm` and one `amd64`. Previously this pipeline would have executed on **either agent**, as Woodpecker is not fussy about where it runs the pipelines.
Because we had our original `when` block underneath the `build` block, if it was run on the `linux/amd64` agent. It would have cloned the repository, and then skipped the build step. Resulting in a Successful build.
Moving the when block to the root level will ensure that the whole pipeline will run be targeted to agents that match all of the conditions.
-This can be utilised in conjunction with other when blocks as well.
+This can be utilised in conjunction with other when blocks as well.
Example `when` pipeline & step block:
@@ -198,6 +198,24 @@ pipeline:
+ - go test
```
+### 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
+# .woodpecker.yml
+pipeline:
+ build:
+ image: debian
+ commands:
+ - echo "test content" > myfile
+ a-test-step:
+ image: debian
+ commands:
+ - cat myfile
+```
+
### `image`
Woodpecker uses Docker images for the build environment, for plugins and for service containers. The image field is exposed in the container blocks in the Yaml:
diff --git a/docs/docs/woodpecker.png b/docs/docs/woodpecker.png
index dde10b80f432687c699a1a22e365f8cd552fc622..b92f3589f55d79a17069e44ca23b44cf91e6139c 100644
GIT binary patch
literal 71639
zcmbTdWmsF^6F+zp++B*h6nA&`La_pcP>NHW;t;H8(IQ0(g#yLhEqHO)B7ss|i%VhC
z?{9aX|J&Ucd6F|ZXJ+o_%*>rTXKwThZ513$3QPb1aMV;4^#A}33IIq4=tu}kJYX4w
z7yvIc^_8BUp3X0>tP5}ubbtkkhlgis?&tBz*`M=E4FjvQKNkhtLVNoM+q(yj?$Gh^
z@q@$TrR5bqO@SLXw{`fhUt2q(qM{p{zgO1azqfZE9v&vA7hc
%MwGU1aP~_
z-oq`=ZEqNFVUZFdBPDPoUUiIV8f~!cWt%cE(k}?Wo1jsJ-g^}`QkQJVy)MKYJTkgX
z)_Z4LJy+)W`*m@f%y%UaH?}yMwuOVqo{JatXC1VS{Sgr%9?a7=-h$Z!zp^?#W4($1
z4>q2Do~toyk#}^My|%*4RzfPunE4Q=ya6+8`4DJJguE;U@(c8I6vBO_*IqN}yIA^x
zZPMBk*eENc6w4PqJ+#qcqtKmoCfdku`c-Gri>wOh$sOIK>SfS)VB&8OOtExo?6%R-
zQF2~%;uRA_Dv5uDjP*q=cU{;DI&5p|z%+;p*~x_6C{1<6d22&f667xl#?iW>tD%ti
z#9YgjL-r(<5II6>i+1{qC;gR{fRD^C
z)igp&QtQ!UXD%}IO#JGq#aOoB6PDj8Q&N`yRF}3w^}PjA+{qH;RQZka`Ym%6A2h4c
zErX);H0l0zu_0VWAHPC?{l&f-7gbfV5vs@Rh4-@ew+RcE?3I@nLP<3Lgx`<+eZMig
zyr}b0OT6670=k&;f^@~GtQb92VQ9#*{%z)cq4n$MlR^-Iu%SJ9>Q5i;5+RT8k>o#F
z9%y@f?|%z%$D6qUStz)y25w*xPQ!~7O=i#q>A}D^?am9@ce2lqe)K6)?n%D+)yGAH
z8D1q&;t)_L{bxT;P29~lLvS!C9ae8t{Im<4F};y%jGkvIrunD)jj2
zjGdCi)z3e}vH@nT;&fA@DSaBwO+3%o^&kEy>5s%b%Y*sg(OEsCSS-_6;ypf+sU+j;
z8>Fm=GbW2Ie9gCRfLDcDLgOe{QwPNya9DKdp55 G(
zC`w&NbX~{<(((3)5-It}qzM-+@-Xf7ALus8=8nrh<;~%gR}Yjpl`vx%pYK4C@iPK*
zS&M{rjyGT2c=A_!^7s;Knw%5g>7X);C*c*pPRArQ|2F3!yzmF*laz_K&yRj@5Uw82
zPamd5jb%5IWR$QuOvBJB3l3wX$OPT}ka1jq`e$kDq