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

feat: bump deps for v0.7.0 release #127

Merged
merged 3 commits into from
Sep 23, 2020
Merged

feat: bump deps for v0.7.0 release #127

merged 3 commits into from
Sep 23, 2020

Conversation

MichaelMure
Copy link
Collaborator

No description provided.

@MichaelMure
Copy link
Collaborator Author

Even with the bump, Error: error loading plugins: loading plugin /home/circleci/.ipfs/plugins/go-ds-s3.so: plugin.Open("/home/circleci/.ipfs/plugins/go-ds-s3"): plugin was built with a different version of package internal/cpu is still there.

Should it be built with a specific go version?

@aschmahmann
Copy link
Contributor

aschmahmann commented Sep 23, 2020

@MichaelMure there were some changes to how we build releases that affect plugins. From the release notes highlights:

🔌 Plugin build changes 🚨
We have changed the build flags used by the official binary distributions on dist.ipfs.io (or /ipns/dist.ipfs.io) to use the simpler and more reliable -trimpath flag instead of the more complicated and brittle -asmflags=all=-trimpath="$(GOPATH)" -gcflags=all=-trimpath="$(GOPATH)" flags, however the build flags used by default in go-ipfs remain the same.

The scripts in https://github.com/ipfs/go-ipfs-example-plugin have been updated to reflect this change. This is a breaking change to how people have been building plugins against the dist.ipfs.io binary of go-ipfs and plugins should update their build processes accordingly see ipfs/go-ipfs-example-plugin#9 for details.

Since it looks like this library copy-paste's the example Makefile + script I recommend copy-pasting the latest.

Should it be built with a specific go version?

Yes, it definitely needs to be built with a specific version of Go as an unfortunate reality of how plugins work in Go. That version is the one listed when you run ipfs version --all (in the case of the go-ipfs v0.7.0 release that's v1.14.4, but that obviously changes all the time as Go updates)

Do you have any recommendations on how to better announce this (or future) changes that result in breakages to the plugin build process?

@ianopolous
Copy link
Member

I can confirm it loads correctly when built with -trimpath.

@MichaelMure
Copy link
Collaborator Author

Do you have any recommendations on how to better announce this (or future) changes that result in breakages to the plugin build process?

It's the correct way IMHO, I just need to open my eyes (no promises).

I updated the makefile and the localstack port (see https://github.com/localstack/localstack/releases/tag/v0.11.5, who doesn't like a breaking change in a patch version).

Copy link
Contributor

@aschmahmann aschmahmann left a comment

Choose a reason for hiding this comment

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

LGTM on the build side, although idk much about localstack. Seems right though.

@MichaelMure MichaelMure merged commit 1852eff into master Sep 23, 2020
@MichaelMure MichaelMure deleted the release/v0.7.0 branch September 23, 2020 21:14
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.

3 participants