Closed FrancescElies closed 7 months ago
The new target archives like releases/broot-1.35.1/broot-armv7-unknown-linux-gnueabihf.zip
look good, but can you keep the broot_1.35.1.zip
file the same than before (i.e. without the broot-
prefix in folders, and with a _
instead of a -
) ? As I understand it that should not be a problem for bininstall as it doesn't care for this file.
Old left, new right:
Just to be clear: I'm OK with the new files and their naming, I'd just like to keep the old broot_version.zip
archive exactly as it was (name and content) because there's some automation based on it
I added a change so that new artifacts keep a similar naming format with the old artifacts.
After running release, hopefully you should see the following files instead.
~/src/oss/broot: tree releases/ 03/06/24 08:56:28 AM
/Users/cesc/src/oss/broot/releases
└──broot_1.35.1
├──broot_1.35.1.zip
├──broot_1.35.1_aarch64-unknown-linux-gnu.zip
├──broot_1.35.1_aarch64-unknown-linux-musl.zip
├──broot_1.35.1_armv7-unknown-linux-gnueabihf.zip
├──broot_1.35.1_armv7-unknown-linux-musleabi.zip
├──broot_1.35.1_x86_64-linux.zip
├──broot_1.35.1_x86_64-pc-windows-gnu.zip
├──broot_1.35.1_x86_64-unknown-linux-gnu.zip
└──broot_1.35.1_x86_64-unknown-linux-musl.zip
Are you sure the underscore is OK for bininstall for the target specific archives ?
Sadly I can't be 100% sure, in the previous commit I added the following to cargo toml to handle the underscores.
Still reading the docs to see if I can test this locally without a release but I didn't find a way to do that yet.
Ok we have a way to "test it" without a release.
With the following command we can see which kind of links he tries to download, in my case now he would find broot_1.35.1_x86_64-pc-windows-gnu.zip
~\src\oss\broot> gh pr checkout 847 03/06/2024 11:43:51 AM
~\src\oss\broot> cargo binstall --strategies crate-meta-data --manifest-path Cargo.toml broot -v | rg "package at" 03/06/2024 11:44:32 AM
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i686-pc-windows-msvc.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_x86_64-pc-windows-gnu.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_x86_64-pc-windows-gnullvm.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i686-pc-windows-gnullvm.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i586-pc-windows-gnullvm.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_x86_64-pc-windows-msvc.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i586-pc-windows-gnu.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i586-pc-windows-msvc.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot_1.35.1_i686-pc-windows-gnu.zip'
At some point later on I could do the same test on mac and linux.
Just to be clear: I'm OK with the new files and their naming, I'd just like to keep the old broot_version.zip archive exactly as it was (name and content) because there's some automation based on it
I think I misunderstood your previous comment, the problem if I understand correctly was that I changed the location of that file into the subfolder?
Shall I leave everything around that file untouched and go as much as I can with binstall defaults?
Is this layout ok?
/Users/cesc/src/oss/broot/releases
└──broot_1.35.1
├──broot_1.35.1.zip
├──broot_1.35.1_aarch64-unknown-linux-gnu.zip
├──broot_1.35.1_aarch64-unknown-linux-musl.zip
├──broot_1.35.1_armv7-unknown-linux-gnueabihf.zip
├──broot_1.35.1_armv7-unknown-linux-musleabi.zip
├──broot_1.35.1_x86_64-linux.zip
├──broot_1.35.1_x86_64-pc-windows-gnu.zip
├──broot_1.35.1_x86_64-unknown-linux-gnu.zip
└──broot_1.35.1_x86_64-unknown-linux-musl.zip
I'm OK with this file location. And the new files may be named with -
instead of _
, that's not a problem.
What I'd need is the content of broot_<version>.zip
to be the same than before, that is this specific archive should unzip to something like this:
Other archives should just be as near as possible from the bininstall standard.
I'd also need the build folder to stay the same (i.e. without the broot-
prefix).
So the right approach IMO would be to keep the old process and add, as a second operation (might be a second script called by release.sh ), build the new archives.
Alright with the latest commit we have
~/src/oss/broot: tree releases/ 03/06/24 14:19:04 PM
/Users/cesc/src/oss/broot/releases
└──broot_1.35.1
├──broot-aarch64-unknown-linux-gnu-v1.35.1.zip
├──broot-aarch64-unknown-linux-musl-v1.35.1.zip
├──broot-armv7-unknown-linux-gnueabihf-v1.35.1.zip
├──broot-armv7-unknown-linux-musleabi-v1.35.1.zip
├──broot-x86_64-linux-v1.35.1.zip
├──broot-x86_64-pc-windows-gnu-v1.35.1.zip
├──broot-x86_64-unknown-linux-gnu-v1.35.1.zip
├──broot-x86_64-unknown-linux-musl-v1.35.1.zip
└──broot_1.35.1.zip
compile-all-targets.sh
remains untouched, thus the build folder keeps the previous structurerelease-for-binstall.sh
which creates zip files in the release folder without touching the build folderbroot_1.35.1.zip
lands now in the subfolder too.In linux gnu and musl artifacts are there:
cesc@intel-minipc:~/src/oss/broot$ cargo binstall --strategies crate-meta-data --manifest-path Cargo.toml broot -v | rg "package at" | rg broot-x86_64-unknown-linux-musl-v1.35.1.zip
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/1.35.1/broot-x86_64-unknown-linux-musl-v1.35.1.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot-x86_64-unknown-linux-musl-v1.35.1.zip'
cesc@intel-minipc:~/src/oss/broot$ cargo binstall --strategies crate-meta-data --manifest-path Cargo.toml broot -v | rg "package at" | rg broot-x86_64-unknown-linux-gnu-v1.35.1.zip
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/1.35.1/broot-x86_64-unknown-linux-gnu-v1.35.1.zip'
DEBUG Checking for package at: 'https://github.com/Canop/broot/releases/download/v1.35.1/broot-x86_64-unknown-linux-gnu-v1.35.1.zip'
It looks perfect. I should merge it soon, then use it at the next release, which should come soon too.
I would like to
cargo binstall broot
and get directly the binary without having to think any further.This pr
Adds support for
cargo binstall broot
see supportI kept the current zip file for release as it is, next to it other zip files can be found too.
Uploading this files to the next release should make cargo binstall broot possible.
If I understand the docs correctly the files without the version should be fine too.
I didn't update any docs because I can't be 100% sure it works.
I know changing stuff in the release process can result in lots of frustration, help or feedback appreciated, if in the end this doesn't get merged it also fine with me.
⚠️ Warning
I couldn't manage to get cross to work on my machine, thus I had to test release.sh without being able to execute compile-all-targets.sh, but I got the latest release as my input and manually added the broot prefix to each folder.