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

refactor: lake: manifest semver & code cleanup #4083

Merged
merged 4 commits into from
May 24, 2024

Conversation

tydeu
Copy link
Member

@tydeu tydeu commented May 6, 2024

Switches the manifest format to use major.minor.patch semantic versions. Major version increments indicate breaking changes (e.g., new required fields and semantic changes to existing fields). Minor version increments (after 0.x) indicate backwards-compatible extensions (e.g., adding optional fields, removing fields). This change is backwards compatible. Lake will still successfully read old manifest with numeric versions. It will treat the numeric version N as semantic version 0.N.0. Lake will also accept manifest versions with - suffixes (e.g., x.y.z-foo) and then ignore the suffix.

This change also includes the general cleanup/refactoring of the manifest code and data structures that was part of #3174.

@tydeu tydeu changed the title refactor: lake: manifest semver & ode cleanup refactor: lake: manifest semver & code cleanup May 6, 2024
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label May 6, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 6, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 6, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the builds-mathlib CI has verified that Mathlib builds against this PR label May 6, 2024
@leanprover-community-mathlib4-bot
Copy link
Collaborator

leanprover-community-mathlib4-bot commented May 6, 2024

Mathlib CI status (docs):

leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 6, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 6, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 7, 2024
@tydeu tydeu added the will-merge-soon …unless someone speaks up label May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 7, 2024
@@ -0,0 +1,20 @@
{"version": "1.0.0",
Copy link
Member

Choose a reason for hiding this comment

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

Syntactic comment, but for somebody just looking at the manifest, this field is easy to confuse with the package version. But I suppose that was already the case while using sequential versioning.

Copy link
Member Author

Choose a reason for hiding this comment

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

True, that is certainly something to keep in mind. I don't think I have good solution for that now in this PR, though.

leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request May 7, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request May 7, 2024
@semorrison
Copy link
Collaborator

Just a minor comment about PR labelling: I think you might be overusing the "draft" status, or at least I don't think anything should ever be both a draft and will-merge-soon, which have opposite implications for reviewing urgency!

@tydeu tydeu marked this pull request as ready for review May 8, 2024 00:15
@tydeu
Copy link
Member Author

tydeu commented May 8, 2024

I don't think anything should ever be both a draft and will-merge-soon,

@semorrison Definitely! That was just me forgetting to mark it ready for review. 🤦‍♂️

@tydeu tydeu added this pull request to the merge queue May 24, 2024
Merged via the queue into leanprover:master with commit def00d3 May 24, 2024
12 checks passed
@tydeu tydeu deleted the lake/manifest-refactor branch May 24, 2024 22:53
mhuisi added a commit to leanprover/vscode-lean4 that referenced this pull request Jun 13, 2024
Lake changed its Manifest version format to semantic versioning in
leanprover/lean4#4083. This PR ensures that we
can still parse the new format.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builds-mathlib CI has verified that Mathlib builds against this PR toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN will-merge-soon …unless someone speaks up
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants