Merge branch 'origin/main' into 'next-release/main'

This commit is contained in:
oauth 2024-12-21 10:58:33 +00:00
commit 2f729ac211
7 changed files with 30 additions and 25 deletions

View file

@ -197,8 +197,7 @@ steps:
repo: *publish_repos_server repo: *publish_repos_server
dockerfile: docker/Dockerfile.server.multiarch dockerfile: docker/Dockerfile.server.multiarch
platforms: *platforms_server platforms: *platforms_server
# remove 'latest' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}', '${CI_COMMIT_TAG%.*}-alpine', '${CI_COMMIT_TAG}']
tag: [latest, '${CI_COMMIT_TAG}']
logins: *publish_logins logins: *publish_logins
when: &when-release when: &when-release
event: tag event: tag
@ -211,8 +210,7 @@ steps:
repo: *publish_repos_server repo: *publish_repos_server
dockerfile: docker/Dockerfile.server.alpine.multiarch dockerfile: docker/Dockerfile.server.alpine.multiarch
platforms: *platforms_alpine platforms: *platforms_alpine
# remove 'latest-alpine' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}-alpine', '${CI_COMMIT_TAG%.*}-alpine', '${CI_COMMIT_TAG}-alpine']
tag: [latest-alpine, '${CI_COMMIT_TAG}-alpine']
logins: *publish_logins logins: *publish_logins
when: *when-release when: *when-release
@ -292,8 +290,7 @@ steps:
repo: *publish_repos_agent repo: *publish_repos_agent
dockerfile: docker/Dockerfile.agent.multiarch dockerfile: docker/Dockerfile.agent.multiarch
platforms: *platforms_release platforms: *platforms_release
# remove 'latest' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}', '${CI_COMMIT_TAG%.*}', '${CI_COMMIT_TAG}']
tag: [latest, '${CI_COMMIT_TAG}']
logins: *publish_logins logins: *publish_logins
build_args: *build_args build_args: *build_args
when: *when-release when: *when-release
@ -309,8 +306,7 @@ steps:
repo: *publish_repos_agent repo: *publish_repos_agent
dockerfile: docker/Dockerfile.agent.alpine.multiarch dockerfile: docker/Dockerfile.agent.alpine.multiarch
platforms: *platforms_alpine platforms: *platforms_alpine
# remove 'latest-alpine' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}-alpine', '${CI_COMMIT_TAG%.*}-alpine', '${CI_COMMIT_TAG}-alpine']
tag: [latest-alpine, '${CI_COMMIT_TAG}-alpine']
logins: *publish_logins logins: *publish_logins
build_args: *build_args build_args: *build_args
when: *when-release when: *when-release
@ -388,8 +384,7 @@ steps:
repo: *publish_repos_cli repo: *publish_repos_cli
dockerfile: docker/Dockerfile.cli.multiarch dockerfile: docker/Dockerfile.cli.multiarch
platforms: *platforms_release platforms: *platforms_release
# remove 'latest' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}', '${CI_COMMIT_TAG%.*}', '${CI_COMMIT_TAG}']
tag: [latest, '${CI_COMMIT_TAG}']
logins: *publish_logins logins: *publish_logins
build_args: *build_args build_args: *build_args
when: *when-release when: *when-release
@ -405,8 +400,7 @@ steps:
repo: *publish_repos_cli repo: *publish_repos_cli
dockerfile: docker/Dockerfile.cli.alpine.multiarch dockerfile: docker/Dockerfile.cli.alpine.multiarch
platforms: *platforms_alpine platforms: *platforms_alpine
# remove 'latest-alpine' on older version branches to avoid accidental downgrade tag: ['${CI_COMMIT_TAG%%.*}-alpine', '${CI_COMMIT_TAG%.*}-alpine', '${CI_COMMIT_TAG}-alpine']
tag: [latest-alpine, '${CI_COMMIT_TAG}-alpine']
logins: *publish_logins logins: *publish_logins
build_args: *build_args build_args: *build_args
when: *when-release when: *when-release

View file

@ -20,7 +20,7 @@ import (
"strings" "strings"
"time" "time"
"github.com/cenkalti/backoff/v4" "github.com/cenkalti/backoff/v5"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
@ -68,7 +68,6 @@ func (c *client) Close() error {
func (c *client) newBackOff() backoff.BackOff { func (c *client) newBackOff() backoff.BackOff {
b := backoff.NewExponentialBackOff() b := backoff.NewExponentialBackOff()
b.MaxElapsedTime = 0
b.MaxInterval = 10 * time.Second //nolint:mnd b.MaxInterval = 10 * time.Second //nolint:mnd
b.InitialInterval = 10 * time.Millisecond //nolint:mnd b.InitialInterval = 10 * time.Millisecond //nolint:mnd
return b return b

View file

@ -2,7 +2,7 @@ version: '3'
services: services:
woodpecker-server: woodpecker-server:
image: woodpeckerci/woodpecker-server:latest image: woodpeckerci/woodpecker-server:v3
ports: ports:
- 8000:8000 - 8000:8000
networks: networks:
@ -21,7 +21,7 @@ services:
depends_on: depends_on:
woodpecker-server: woodpecker-server:
condition: service_healthy condition: service_healthy
image: woodpeckerci/woodpecker-agent:latest image: woodpeckerci/woodpecker-agent:v3
networks: networks:
- woodpecker - woodpecker
volumes: volumes:

View file

@ -115,21 +115,26 @@ The server and agents use a shared secret to authenticate communication. This sh
Image variants: Image variants:
- The `latest` image is the latest stable release
- The `vX.X.X` images are stable releases - The `vX.X.X` images are stable releases
- The `vX.X` images are based on the current release branch (e.g. `release/v1.0`) and can be used to get bugfixes asap - The `vX.X` images are based on the current release branch (e.g. `release/v1.0`) and can be used to get bug fixes asap
- The `vX` same as `vX.X` variant but also includes feature releases
- The `next` images are based on the current `main` branch - The `next` images are based on the current `main` branch
:::note
The `latest` tag is not available on purpose (and has been dropped with the 3.x release) to prevent accidental major version upgrades.
Hence, users are forced to specify a fixed or rolling tag, omitting the tag identifier (which equals to pulling `latest` implicitly) won't work.
:::
```bash ```bash
# server # server
docker pull woodpeckerci/woodpecker-server:latest docker pull woodpeckerci/woodpecker-server:v3
docker pull woodpeckerci/woodpecker-server:latest-alpine docker pull woodpeckerci/woodpecker-server:v3-alpine
# agent # agent
docker pull woodpeckerci/woodpecker-agent:latest docker pull woodpeckerci/woodpecker-agent:v3
docker pull woodpeckerci/woodpecker-agent:latest-alpine docker pull woodpeckerci/woodpecker-agent:v3-alpine
# cli # cli
docker pull woodpeckerci/woodpecker-cli:latest docker pull woodpeckerci/woodpecker-cli:v3
docker pull woodpeckerci/woodpecker-cli:latest-alpine docker pull woodpeckerci/woodpecker-cli:v3-alpine
``` ```

View file

@ -135,6 +135,11 @@ The following restructuring was done to achieve a more consistent grouping:
### Admin-facing migrations ### Admin-facing migrations
#### Image tags
- The `latest` tag has been dropped to avoid accidental major version upgrades.
A dedicated semver tag specification must be used, i.e., either a fixed version (like `v3.0.0`) or a rolling tag (e.g. `v3.0` or `v3`).
- Previously, some (official) plugins were granted the `privileged` option by default to allow simplified usage. - Previously, some (official) plugins were granted the `privileged` option by default to allow simplified usage.
To streamline this process and enhance security transparency, no plugin is granted the `privileged` options by default anymore. To streamline this process and enhance security transparency, no plugin is granted the `privileged` options by default anymore.
To allow the use of these plugins in >= 3.0, they must be set explicitly through `WOODPECKER_PLUGINS_PRIVILEGED` on the admin side. To allow the use of these plugins in >= 3.0, they must be set explicitly through `WOODPECKER_PLUGINS_PRIVILEGED` on the admin side.

2
go.mod
View file

@ -11,7 +11,7 @@ require (
github.com/6543/logfile-open v1.2.1 github.com/6543/logfile-open v1.2.1
github.com/adrg/xdg v0.5.3 github.com/adrg/xdg v0.5.3
github.com/bmatcuk/doublestar/v4 v4.7.1 github.com/bmatcuk/doublestar/v4 v4.7.1
github.com/cenkalti/backoff/v4 v4.3.0 github.com/cenkalti/backoff/v5 v5.0.0
github.com/charmbracelet/huh v0.6.0 github.com/charmbracelet/huh v0.6.0
github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10 github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10
github.com/distribution/reference v0.6.0 github.com/distribution/reference v0.6.0

2
go.sum
View file

@ -52,6 +52,8 @@ github.com/catppuccin/go v0.2.0 h1:ktBeIrIP42b/8FGiScP9sgrWOss3lw0Z5SktRoithGA=
github.com/catppuccin/go v0.2.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc= github.com/catppuccin/go v0.2.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc=
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cenkalti/backoff/v5 v5.0.0 h1:4ziwFuaVJicDO1ah1Nz1aXXV1caM28PFgf1V5TTFXew=
github.com/cenkalti/backoff/v5 v5.0.0/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=