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

3.12.3 release binaries do not include commits present in 3.12.3 Git tag #7632

Closed
kevinburke1 opened this issue Jun 16, 2020 · 7 comments
Closed

Comments

@kevinburke1
Copy link

kevinburke1 commented Jun 16, 2020

The commit before the v3.12.3 tagged release is 28cc693. I would expect to see this commit present in releases tagged for v3.12.3. Unfortunately, it appears as if it is not present; if I download the v3.12.3 release from the Github releases page, and run it, I do not see that "Generated protocol buffer code" message in the generated Python code.

When I install protoc from Homebrew, it checks out the Git tag and compiles, so I do see the message. This is a problem because some of my team members use Linux and some of them use Mac. This means that the generated protobuf file thrashes back and forth when different members of the team generate it.

I can't inspect the binary but I did run strings on it and I did not see the message in the compiled binary. Compare:

~/src/github.com/meterup/proto/protoc-3.12.3-linux-x86_64
± (python*) $ strings ./bin/protoc| grep 'Generated protocol'

~/src/github.com/meterup/proto/protoc-3.12.3-linux-x86_64
± (python*) $ strings /usr/local/Cellar/protobuf/3.12.3/lib/libprotoc.23.dylib | grep 'Generated protocol'
"""Generated protocol buffer code."""

Could you consider creating a new release that contains exactly the commits described in the release tag? This is the best way to ensure that things are predictable.

It seems like others have previously reported problems with the Protobuf release process so this may be worth investing some time in. Alternatively, include metadata about the Git commit in the .zip file so that it can be compared against the actual Git tag corresponding to the release.

#7560
#7600
#7627

@haberman
Copy link
Member

I think I may have accidentally tagged v3.12.3 from the master branch instead of the release branch.

I agree that the release tooling should tag the release automatically so that it is not possible to make this mistake.

I also agree that I should cut a v3.12.4 release to fix this.

@kevinburke1
Copy link
Author

Thanks!

@jschueller
Copy link

when is the 3.12.4 due ?

@xkisu
Copy link

xkisu commented Jul 20, 2020

I'm also experiencing this due to #7496, C++ files generated by 3.12.3 don't contain the typo fix, while the Protobuf C++ 3.12.3 sources and headers fetched by vcpkg do. When will there be a fix for this?

adamnovak added a commit to vgteam/vg that referenced this issue Jul 21, 2020
When Homebrew shipped Homebrew/homebrew-core#58229 they broke our CI by shipping a Protobuf 3.12.3 that is not compatible with headers generated by the Protobuf 3.12.3 that they previously shipped.

Since this particular Protobuf version is still [actively on fire](protocolbuffers/protobuf#7632), if we're trying to use it we should just rebuild the headers with the Protobuf we actually have.
@xkisu
Copy link

xkisu commented Jul 24, 2020

@haberman This has been an issue for well over a month now - is there an eta on a fix?

@kevinburke1
Copy link
Author

See also #7637, Homebrew/homebrew-core#58104

@acozzette
Copy link
Member

I released 3.12.4 this week, which fixes the issue with 3.12.3.

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

No branches or pull requests

5 participants