-
Notifications
You must be signed in to change notification settings - Fork 356
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
chore: upgrade protoc used in CI #7935
Conversation
✅ Deploy Preview for determined-ui ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
9ac8f82
to
8eff8ac
Compare
b359416
to
a9a768b
Compare
Will this require everyone to upgrade their local version? |
yes. We had a talk about this in the backend team around when it's okay to require dependency upgrades and the consensus was that as long as it's communicated we're good with it and we didn't go into more details. What do you think |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, just checking that it was considered at some point.
I want to update Line 58 in ed7a283
|
@varlogtim had set a cutoff here at >v22 so maybe we could expand it to that but since we're testing 24.3 with the ci and it's been out for a while let's just go for that? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #7935 +/- ##
=======================================
Coverage 44.70% 44.70%
=======================================
Files 1270 1270
Lines 155132 155132
Branches 2437 2437
=======================================
+ Hits 69351 69352 +1
+ Misses 85545 85544 -1
Partials 236 236
Flags with carried forward coverage won't be shown. Click here to find out more. |
proto/Makefile
Outdated
@@ -35,8 +35,8 @@ get-deps: | |||
|
|||
build/proto.stamp: $(source_files) | |||
protoc --version | tee /dev/stderr | \ | |||
perl -ne '(/libprotoc (?:3?\.)?(\d+)\.(?:\d+)/ && $$1>=15 && $$1<22) || \ | |||
(print("Please install protoc where version >= 3.15 and < 3.22\n") && exit 1)' | |||
perl -ne '(/libprotoc (?:24\.)?(\d+)\.(\d+)/ && $$1>=24 && ($$1>24 || $$2>=3)) || \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this regex change may not be doing what is intended. At some point protoc dropped the major version from the version number (altho v3
tags are still being created). The ?:
part of the regex indicates a non-capturing* group, so the major part should not change it is just the minor and patch versions being assigned to $1 and $2. The max minor version check was dropped, does protobuf v26 also work here? edit: It also seems like we should not care about checking the patch version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More info on the versioning change:
https://protobuf.dev/news/2022-05-06/, basically the major version is reserved for language specific api updates, but previously protoc would report the major version as 3. It should probably stay as 3 or >=3.
We should also make sure whatever minor version is easily installable for devs. Right now we can brew install protobuf@21
, and brew install protobuf
currently installs v26.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking to leave it a >21 to keep it simple and the min version similar to ci?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
personally I would prefer stability to running the latest thing, unless there is a particular reason we need to upgrade. eventually something will be mismatched between versions, causing breaking CI issues again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
made sure we keep allowing > 3.24.x
076654f
to
e3dc47b
Compare
makes sense to wait for the unforking to happen before landing this |
Description
protoc was upgraded a while back and the new version is not compatible with the old.
make -C proto check
started fails locally when using the new version. This updates CI to use a newer version (24)https://github.com/protocolbuffers/protobuf/releases
Test Plan
Commentary (optional)
https://hpe-aiatscale.slack.com/archives/C02PV33GSN5/p1712089871140569
Checklist
docs/release-notes/
.See Release Note for details.
Ticket