Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected non-stable version for docker image woodpeckerci/woodpecker-server #4597

Open
3 tasks done
patrickuhlmann opened this issue Dec 20, 2024 · 7 comments · Fixed by #4600
Open
3 tasks done
Labels
bug Something isn't working

Comments

@patrickuhlmann
Copy link

Component

server

Describe the bug

I used auto update with the docker image "woodpeckerci/woodpecker-server:latest". A few days ago I got the Woodpecker 3.0.0.rc Version. I would have expected that under this tag there will be only stable versions. There is a tag next where I would expect the development version.

Steps to reproduce

  1. Pull and start the woodpeckerci/woodpecker-server:latest image

Expected behavior

I would not expect to get a RC version under the latest tag. The RC version might belong under the next tag.

System Info

N/A

Additional context

No response

Validations

  • Read the docs.
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
@patrickuhlmann patrickuhlmann added the bug Something isn't working label Dec 20, 2024
@pat-s
Copy link
Contributor

pat-s commented Dec 20, 2024

latest was pushed 8h ago during the 2.8.2 release

image

It might be that before that, latest was on 3.0.0.rc.0 due to the RC release of 3.0? Might need to check that.

Besides that being an unwanted happening, I recommend using semver tags as once the image is pulled and DB migrations applied, you can't go back.

I would even argue we should drop latest at all to avoid such issues in the future.

@rmi1974
Copy link

rmi1974 commented Dec 20, 2024

I would even argue we should drop latest at all to avoid such issues in the future.

Indeed. If "latest" is used it should never move backwards to an older release series.
With the backwards move of "latest" (2.8.2 as of this writing), woodpecker container now fails with obscure errors that most end users won't be able to resolve:

woodpecker-server  | 2024-12-20T18:47:43.615388000Z {"level":"info","time":"2024-12-20T18:47:43Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/shared/logger/logger.go:102","message":"log level: debug"}
woodpecker-server  | 2024-12-20T18:47:43.615420000Z {"level":"debug","time":"2024-12-20T18:47:43Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/setup.go:64","message":"server has sqlite3 support"}
woodpecker-server  | 2024-12-20T18:47:43.616553000Z {"level":"error","time":"2024-12-20T18:47:43Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/store/datastore/migration/001_legacy_to_xorm.go:82","message":"migration step 'create-table-users' missing, please upgrade to last stable v0.14.x version first"}
woodpecker-server  | 2024-12-20T18:47:43.616636000Z {"level":"error","error":"can't setup store: could not migrate datastore: migration xorm failed: legacy migration step missing","time":"2024-12-20T18:47:43Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/main.go:52","message":"error running server"}

I had to pin it to 3.0.0-rc2 now because I didn't want to restore to some older backup where the database is still old 2.8.x scheme.
Which forces me to fix up all the build plans due to breaking changes in 3.0.0 ... I guess sooner or later it had to be done anyway.

@zc-devs zc-devs mentioned this issue Dec 20, 2024
5 tasks
@patrickuhlmann
Copy link
Author

What about using a stable tag? That refers to the last stable version?

@pat-s
Copy link
Contributor

pat-s commented Dec 21, 2024

Personally I am against a rolling tag which crosses major versions automatically.
We had this discussion before, I think it got stuck somewhere.

I'd prefer having rolling tags for the respective major versions (and maybe minor). However, auto_tag doesn't work reliably in the buildx plugin which is also part of the reason this doesn't exist yet.

However, we can also create the tags manually in a previous step, I'll propose a PR for this soon.

@pat-s
Copy link
Contributor

pat-s commented Dec 22, 2024

@anbraten Why reopen without a comment?

With #4600 this wont' happen anymore and the current latest is already again on 2.8.2.

@ki9us
Copy link

ki9us commented Dec 22, 2024

docker-compose.example.yaml now has :v3 but this throws:

[+] Pulling 2/2
 ✘ woodpecker-server Error context canceled                                                                                0.4s 
 ✘ woodpecker-agent Error  manifest for woodpeckerci/woodpecker-agent:v3 not found: manifest un...                         0.4s 
Error response from daemon: manifest for woodpeckerci/woodpecker-agent:v3 not found: manifest unknown: manifest unknown

:v2 is similar

[+] Pulling 2/2
 ✘ woodpecker-server Error manifest for woodpeckerci/woodpecker-server:v2 not found: manifest ...                          0.4s 
 ✘ woodpecker-agent Error  context canceled                                                                                0.4s 
Error response from daemon: manifest for woodpeckerci/woodpecker-server:v2 not found: manifest unknown: manifest unknown

The docs still say to use :latest.

Does anyone know what tags are needed to fix a gRPC version mismatch error?

@pat-s
Copy link
Contributor

pat-s commented Dec 22, 2024

v3 and v2 do not exist (yet) as we just merged a PR that would create these for future release. And you're looking at the unreleased doc version of next.

Does anyone know what tags are needed to fix a gRPC version mismatch error?

Use a full semver tag (e.g. v2.8.2) or next, depending on what you're running on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants