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

add lts field #41

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

add lts field #41

wants to merge 3 commits into from

Conversation

M-PERSIC
Copy link
Contributor

@M-PERSIC M-PERSIC commented Feb 2, 2025

Add an "lts" field to each tag in the JSON release feed. This is set via the JULIA_LTS variable in the CI workflow, which only requires that the major and minor version numbers match (no need to manually set for every patch release). Tested locally with LocalStack.

This is a follow-up attempt from #32 which broke the Buildkite plugin. It was thereafter decided to simply include lts tagging as a new field for each release tag, rather than it be its own tag. It will be up to downstream consumers to select the most recent lts release, since every patch release for the given version will possess "lts": true.

Closes #2

@IanButterworth @DilumAluthge

@IanButterworth
Copy link
Member

Looks good. I was expecting only the latest patch to be marked as lts but I guess this makes sense.

@M-PERSIC
Copy link
Contributor Author

M-PERSIC commented Feb 2, 2025

Indeed, I did debate that before deciding on the current behaviour. Every patch release for a given version does on its own count as an lts release. I find it also fits the current behaviour with the stable field, since one needs to find the most recent stable release by filtering all version tags with "stable": true.

@DilumAluthge
Copy link
Member

Seems a little odd to mark every single patch with the lts tag, but it sounds like this is consistent with how stable currently works?

What happens when a new LTS is chosen? Do the old LTS versions keep the lts tag?

@IanButterworth
Copy link
Member

It seems correct to me. The patch releases are all part of the LTS release minor version.

DilumAluthge
DilumAluthge previously approved these changes Feb 3, 2025
@DilumAluthge DilumAluthge added this pull request to the merge queue Feb 3, 2025
@M-PERSIC
Copy link
Contributor Author

M-PERSIC commented Feb 3, 2025

That is a good point. I can follow up with another pr that can maybe take advantage of YAML multi-line strings so that multiple lts releases can be added. Will need to try this out myself first.

I agree that it does look odd in the release feed. This could probably be improved upon with a new version of the JSON schema along with other improvements (potential GSoC proposal :) ).

@DilumAluthge DilumAluthge removed this pull request from the merge queue due to a manual request Feb 3, 2025
@M-PERSIC M-PERSIC marked this pull request as draft February 3, 2025 03:06
@M-PERSIC
Copy link
Contributor Author

M-PERSIC commented Feb 3, 2025

Hold that thought, actually. I might be able to implement it here instead, especially because I don't want to accidentally skip the last lts release (1.6).

@M-PERSIC
Copy link
Contributor Author

M-PERSIC commented Feb 3, 2025

Turns out I was overthinking this. We can simply list all the lts releases in JULIA_LTS and just slightly rework the is_lts function. All past and present lts releases (v1.0, v1.6, v1.10) are now properly listed as such. With the limitations of the current schema, downstream consumers follow the same logic as with the stable field (choose the latest stable/lts release).

@M-PERSIC M-PERSIC marked this pull request as ready for review February 3, 2025 05:36
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.

Add an 'lts’ tag
3 participants