Skip to content

chore: switch to cargo dist for releases#2085

Merged
ellie merged 10 commits into
mainfrom
ellie/cargo-dist
Jun 5, 2024
Merged

chore: switch to cargo dist for releases#2085
ellie merged 10 commits into
mainfrom
ellie/cargo-dist

Conversation

@ellie

@ellie ellie commented Jun 4, 2024

Copy link
Copy Markdown
Member

I'd like to see how CI behaves here before merging anything.

From https://axo.dev

cargo-dist handles building releases far better than we can, and do so
for several large projects now.

We will need to change our install script to use the cargo-dist
installer. To start off, I think it would make sense to use this as a fallback instead of using cargo install

Historically, we have used the system package manager wherever possible.
Once 100% switched to the new installer, this will no longer be the case. If
the user wishes to use their package manager, and Atuin is maintained
there, then they can choose to do so.

This way, we can ensure that users are running a known build, can easily
uninstall (just delete the atuin dir), easily update, etc. Builds will
use our lockfile, and can have their checksum verified. Later, I'd like
to introduce build signing.

As Axo are focused on release engineering, they will likely have
resolved many more issues than we have - libc versions, etc.

I'm not particularly happy with our response of "just use your package
manager", as many users seem to have difficulty there. It's unclear what
our installer has done, as this behaviour varies massively across
systems. It's also unclear how some package maintainers may have patched
things

I'm hoping that some better release tooling will lead to more confidence
in the process, and therefore more frequent releases.

Uninstall clarity: #111, #372, #640, #1485, #1546, #2049, #1529

From https://axo.dev

cargo-dist handles building releases far better than we can, and do so
for several large projects now.

We will need to change our install script to use the cargo-dist
installer.

Historically, we have used the system package manager wherever possible.
Once switched to the new installer, this will no longer be the case. If
the user wishes to use their package manager, and Atuin is maintained
there, then they can choose to do so.

This way, we can ensure that users are running a known build, can easily
uninstall (just delete the atuin dir), easily update, etc. Builds will
use our lockfile, and can have their checksum verified. Later, I'd like
to introduce build signing.

As Axo are focused on release engineering, they will likely have
resolved many more issues than we have - libc versions, etc.

I'm not particularly happy with our response of "just use your package
manager", as many users seem to have difficulty there. It's unclear what
our installer has done, as this behaviour varies massively across
systems. It's also unclear how some package maintainers may have patched
things

I'm hoping that some better release tooling will lead to more confidence
in the process, and therefore more frequent releases.

Uninstall clarity: #111, #372, #640, #1485, #1546, #2049, #1529
@ellie ellie force-pushed the ellie/cargo-dist branch from e617aa9 to dc76b70 Compare June 4, 2024 15:44
@ellie ellie force-pushed the ellie/cargo-dist branch from dc76b70 to c2a526c Compare June 4, 2024 15:46
@ellie ellie mentioned this pull request Jun 5, 2024
@ellie

ellie commented Jun 5, 2024

Copy link
Copy Markdown
Member Author

I'd like to figure out how to update nix, but min rust versions can be dealt with elsewhere

I'm going to merge this, and use it to ship a pre-release. We already have weekly releases, so this would be a pretty nice replacement for that

Wrt the install script, after some thought I'd rather not totally replace it immediately. To begin with, we can use the cargo-dist installer as a fallback instead of cargo-install

@atuin-bot

Copy link
Copy Markdown

This pull request has been mentioned on Atuin Community. There might be relevant details there:

https://forum.atuin.sh/t/packaging-changes-for-18-3-0/354/1

@ellie ellie marked this pull request as ready for review June 5, 2024 12:12
@ellie ellie merged commit 7ec002b into main Jun 5, 2024
@ellie ellie deleted the ellie/cargo-dist branch June 5, 2024 12:25
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.

2 participants