Backport #1616 Close #1615 The error described in https://github.com/woodpecker-ci/woodpecker/issues/1615 is happening because `Tail` method of the docker backend closes the instance of `io.ReadCloser` it returns in `defer` function. As a result anything that try to read data returned by `Tail` method eventually will attempt to read from closes reader and get an error:2171212c5a/pipeline/backend/docker/docker.go (L229)The fix is just don't close returned reader and let the consumer of `Tail` method do it. Good thing is that `Tail` is used only in one place and reader is correctly closed:2171212c5a/pipeline/pipeline.go (L231-L237)Example of `woodpecker exec` output using pipeline from https://github.com/woodpecker-ci/woodpecker/issues/1615 with the fix: ``` woodpecker exec .woodpecker.yaml [step1:L0:0s] + echo step1 [step1:L1:0s] step1 [step2:L0:0s] + echo step2 [step2:L1:0s] step2 ``` Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com> Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
Woodpecker
Woodpecker is a community fork of the Drone CI system.
Support
Please consider to donate and become a backer. 🙏 [Become a backer]
Usage
.woodpecker.yml
- Place your pipeline in a file named
.woodpecker.ymlin your repository - Pipeline steps can be named as you like
- Run any command in the commands section
Build steps are containers
- Define any Docker image as context
- Install the needed tools in custom Docker images, use them as context
Plugins
Woodpecker has official plugins, but you can also use your own.
Documentation
Contribution
Who uses Woodpecker?
Codeberg, the woodpecker project itself, and many others.
Leave a comment if you're using it.
Also consider using the topic WoodpeckerCI in your repository, so others can learn
from your config and use the hashtag #WoodpeckerCI when talking about the project on social media!
Here are some places where people mention Woodpecker:
Stars over time
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 are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License.
