Here is Woodpecker 2.5.0
Here is the next minor release 2.5.0 of Woodpecker ๐ชถ โ๏ธ.
As always thanks to all contributors who helped to make this release possible. It includes quite a few enhancements most users will benefit from while they are probably not that visible at first sight for most. The release also includes some preparations for new features to come in the next versions. Anyway, let's dive into some of the highlights of this release:
Improve the way entrypoints workโ
The implementation wasn't perfect yet so we improved the way entrypoints work:
If you define commands
, the default entrypoint will be ["/bin/sh", "-c", "echo $CI_SCRIPT | base64 -d | /bin/sh -e"]
.
If you define your own entrypoint, you can completely overwrite the default entrypoint. If you define entrypoint: ["/bin/my-script", ""]
for example you can run your own binary / script. In this case the commands section will ignored, however you can still access it in your own script by using the base64 encoded string of the CI_SCRIPT
environment variable.
Cli output formatsโ
The cli output has been improved. The first command (mainly pipeline info, ls, create) support a --output
flag now which allows you to change the output format. There is a new table
format (the new default) which will look like the following and can be further customized:
# use default table output
โฏ woodpecker-cli pipeline ls --limit 2 2
NUMBER STATUS EVENT BRANCH COMMIT AUTHOR
43 error manual main 473761d8b26b20f7c206408563d54cf998410329 woodpecker
42 success push main 473761d8b26b20f7c206408563d54cf998410329 woodpecker
# customize table output and disable header
โฏ woodpecker-cli pipeline ls --limit 2 --output table=number,status,event --no-header 2
43 error manual
42 success push
In addition especially useful for programmatic usage there is a go-template
output format which will output the data using the provided go template like this:
########
# go crazy and use a template layout
โฏ woodpecker-cli pipeline ls --limit 2 --output go-template='{{range .}}{{printf "\x1b[33mPipeline #%d\x1b[0m\nStatus: %s\nEvent:%s\nCommit:%s\n\n" .Number .Status .Event .Commit}}{{end}}' 2
Pipeline #43
Status: error
Event:manual
Commit:473761d8b26b20f7c206408563d54cf998410329
Pipeline #42
Status: success
Event:push
Commit:473761d8b26b20f7c206408563d54cf998410329
Deleting logs or complete pipelinesโ
If you accidentally exposed some secret to the public in your logs or you simply want to cleanup some logs you can now delete logs or complete pipelines using the api and the cli.
Support for Github deploy tasksโ
Woodpecker now supports Github deploy tasks. This allows you to pass the deploy task set in Github to your Woodpecker pipeline.
Deprecationsโ
To keep things clean and simple we deprecated some pipeline options, server settings and features which will be removed in the next major release:
- Deprecated
environment
filter, usewhen.evaluate
- Use
WOODPECKER_EXPERT_FORGE_OAUTH_HOST
instead ofWOODPECKER_DEV_GITEA_OAUTH_URL
orWOODPECKER_DEV_OAUTH_HOST
- Deprecated
WOODPECKER_WEBHOOK_HOST
in favor ofWOODPECKER_EXPERT_WEBHOOK_HOST
For a full list of deprecations that will be dropped in the next
major release 3.0.0
(no eta yet), please check the migrations section.