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

Set up binary releases #207

Closed
davidlattimore opened this issue Nov 30, 2024 · 13 comments · Fixed by #209
Closed

Set up binary releases #207

davidlattimore opened this issue Nov 30, 2024 · 13 comments · Fixed by #209

Comments

@davidlattimore
Copy link
Owner

Looks like the two most popular options are cargo-dist and release-plz. I'm not sure what the tradeoffs between them are or which one is likely to be better for our purposes, but it's probably a good idea to have a quick look at both. @andrewdavidmackenzie, would you like to take a look?

@andrewdavidmackenzie
Copy link
Contributor

Happy to take a look.
It's a bit of a pain to debug and test, creating a release each time - but there is not much strange in this build so shouldn't be too complicated.

Although working from a fork, you might need to merge before you can "test". I'll see if I can do a release on my fork though, prior to that.

@andrewdavidmackenzie
Copy link
Contributor

I'll do a first version for x86, linux, gnu/musl, with a shell installer (will also work with cargo binstall)

@andrewdavidmackenzie
Copy link
Contributor

By default, cargo-dist adds a "dist" profile, that inherits from release, but adds lto="thin", you can let me know if you'd like to avoid the lto....but for a release build it seems reasonable I think.

@andrewdavidmackenzie
Copy link
Contributor

And

  × Github CI support requires you to specify the URL of your repository
  help: Set the repository = "https://github.com/..." key in these manifests:
        /home/andrew/workspace/wild/wild/Cargo.toml
        /home/andrew/workspace/wild/linker-diff/Cargo.toml

So I will add those too.

@andrewdavidmackenzie
Copy link
Contributor

BTW: I see the wild name in crates is taken.

https://crates.io/crates/wild

@andrewdavidmackenzie
Copy link
Contributor

If you would like to move a bunch of stuff to workspace Cargo.toml, and inherit them in each package (e.g. homepage, edition, license, authors, maybe align the version numbers? etc).

Then just create another issue for me...

We'd need to chose a new version number, greater than all previously, and move them all to that...

@davidlattimore
Copy link
Owner Author

Can we configure it to not publish anything to creates.io? We might want to at some stage if there's someone else that wants to use the linker as a library, but for now it seems like an extra thing that we don't need

@davidlattimore
Copy link
Owner Author

By default, cargo-dist adds a "dist" profile, that inherits from release, but adds lto="thin", you can let me know if you'd like to avoid the lto....but for a release build it seems reasonable I think.

Thin LTO sounds good for distribution builds.

@andrewdavidmackenzie
Copy link
Contributor

andrewdavidmackenzie commented Dec 1, 2024 via email

@davidlattimore
Copy link
Owner Author

Fine with me to align version numbers. Although I got the impression that it got the version number from the git tag

@andrewdavidmackenzie
Copy link
Contributor

Pushed a commit that does that to the PR.

@andrewdavidmackenzie
Copy link
Contributor

Great! If you wish, you can push a 0.2.0 tag to the main repo, and you should get a release...then you can edit, generate release notes, edit if you want and you're done.

Up to you if you want a separate issue to allow linker-diff to be built on musl.

@davidlattimore
Copy link
Owner Author

There's already a 0.2.0 tag... from March. Must be time for a new version :) But I'll do that tomorrow

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 a pull request may close this issue.

2 participants