Skip to content

Conversation

mguetschow
Copy link
Contributor

As follow-up of RIOT-OS/RIOT#21135 and RIOT-OS/RIOT#21221

(Note that the workflow is expected to fail until the latter PR is merged)

Copy link
Member

@chrysn chrysn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, LGTM.

@chrysn chrysn enabled auto-merge February 21, 2025 13:39
@mguetschow
Copy link
Contributor Author

mguetschow commented Feb 21, 2025

Switched to a new branch '2024.01-branch'
branch '2024.01-branch' set up to track 'origin/2024.01-branch'.

ah, it checks out the latest some old release 🤔 does that make sense?

RIOT_BRANCH: '2024.01-branch'
VERSION_TAG: '2024.01'

@chrysn
Copy link
Member

chrysn commented Feb 21, 2025

That usually gets updated manually, so indeed this PR will need to wait until we next update things after a release is out with the changed locations.

In the meantime, we can start getting there with #257

@mguetschow
Copy link
Contributor Author

That usually gets updated manually, so indeed this PR will need to wait until we next update things after a release is out with the changed locations.

Here we are after the next release, added a second commit that bumps the RIOT_BRANCH.

@mguetschow
Copy link
Contributor Author

Ah, fun: RIOT-OS/RIOT#21359

@chrysn
Copy link
Member

chrysn commented Jun 4, 2025

I think this should update the tag too. (AIU, VERSION_TAG is what gets set on the riotdocker image -- ie. it needs to be there before the release already.)

Do you have the time to get this ship-shape so that I can rebase #261 onto it?

@mguetschow
Copy link
Contributor Author

I think this should update the tag too. (AIU, VERSION_TAG is what gets set on the riotdocker image -- ie. it needs to be there before the release already.)

Hu, can you elaborate? I don't understand.

@chrysn
Copy link
Member

chrysn commented Jun 4, 2025

I think this should update the tag too. (AIU, VERSION_TAG is what gets set on the riotdocker image -- ie. it needs to be there before the release already.)

The bumps of RIOT_BRANCH and VERSION_TAG are, as I understand the process, always done in pairs.

The branch points to the last release, that's what is being tested. (Or is that the branch after that release forked off? Either way, the latest date branch).

The VERSION_TAG is not a tag in the sense of a git tag (that is generally immutable), but a docker tag that can be updated regularly. It indicates the version of RIOT for which this image is being built (ie. we now stop updating the 2025.04 image, we really should have done that already when that was released, but everything we build now should be tragged 'latest' and also '2025.07'.

@mguetschow
Copy link
Contributor Author

The branch points to the last release, that's what is being tested. (Or is that the branch after that release forked off? Either way, the latest date branch).

It contains the last release tag and any further backported PRs that did not warrant a new point release.

The VERSION_TAG is not a tag in the sense of a git tag (that is generally immutable), but a docker tag that can be updated regularly. It indicates the version of RIOT for which this image is being built (ie. we now stop updating the 2025.04 image, we really should have done that already when that was released, but everything we build now should be tragged 'latest' and also '2025.07'.

Ah, I thought this was also referring to git. Then I see what you mean. The question is how useful such a docker tag is if it is never properly updated as part of the release: https://hub.docker.com/r/riot/riotbuild/tags

Should we maybe just get rid of it and just push to latest? RIOT now pins the docker version anyways independent of the release version.

@chrysn
Copy link
Member

chrysn commented Jun 4, 2025

No, the tag is still useful: Anyone who uses, say, RIOT 2023.07 can still get the 2023.07 docker container. While we usually take some time to do the bumping update here, that docker container will "just" be from some point in time between 2023.07 and 2023.10 (maybe 2024.1 if nothing big happened), but it's still a container that they can expect to be useful -- whereas if we just did latest, the old containers would be lost, and rather sooner than later there wouldn't be an easy way left to run the build system of old versions.

@mguetschow
Copy link
Contributor Author

whereas if we just did latest, the old containers would be lost, and rather sooner than later there wouldn't be an easy way left to run the build system of old versions.

Are they lost as in deleted from dockerhub, or just not easily accessible via image tags? Since any RIOT git revision for some time now explicitly pins the docker image to a certain image hash, we still have the build system available that was used in the CI, even on a more fine-grained scale than just "somewhere between releases".

@mguetschow
Copy link
Contributor Author

Hum, seems like we need to backport RIOT-OS/RIOT#21531, too (otherwise static tests will also fail on the release-branch I guess).

@maribu
Copy link
Member

maribu commented Jun 5, 2025

Yes, sorry. We also need that backport to be able to backport other PRs, as Murdock will use the same image for both backports and PRs to master. See RIOT-OS/RIOT#21541

also switch from using make buildtest to dist/tools/compile_test
@mguetschow
Copy link
Contributor Author

Just force-pushed the changes together, if CI is still green this should be ready to go.

@crasbe crasbe added this pull request to the merge queue Jun 5, 2025
Merged via the queue into RIOT-OS:master with commit c3edbfc Jun 5, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants