Updates dependencies for possible 1.1 release #847

Open
maximilien wants to merge 1 commit from update-dependencies-1.1 into main
Owner

Just a simple dependency file updates, with a warning fix.

Just a simple dependency file updates, with a warning fix.
maximilien added this to the v1.1 milestone 2024-08-06 21:44:06 +00:00
maximilien added the
kind
improvement
label 2024-08-06 21:44:06 +00:00
maximilien added the
scope
build
label 2024-08-07 22:04:03 +00:00
maximilien force-pushed update-dependencies-1.1 from efa755a79f to 4d8df6856f 2024-08-08 06:41:03 +00:00 Compare
lx requested changes 2024-08-24 11:15:00 +00:00
@ -397,3 +398,1 @@
.date()
.succ_opt()
.expect("no next day")
.date_naive()
Owner

By removing .succ_opt(), you are changing the meaning of this function! It is supposed to return the date of the day following the day of the given timestamp, not just the day of the timestamp.

By removing `.succ_opt()`, you are changing the meaning of this function! It is supposed to return the date of the day following the day of the given timestamp, not just the day of the timestamp.
lx marked this conversation as resolved
Owner

Ok, so this escalated quickly. We are deadlocked, because:

  • The updated aws-sdk-config crate requires rustc >= 1.77.0 and we are building with 1.73.0

  • The updates to the flake.nix file that import a newer version of cargo2nix and a new compiler cause a build error of the kind error: executing shell '/bin/bash': Argument list too long. I'm not sure where this comes from, but until we are able to fix it, we cannot update the compiler version to 1.80 as I tried doing.

I think trying to update the Nix dependencies (and the Rust toolchain) at the same time we updated Cargo dependencies was a bad move. Updating the toolchain is always hard, but we don't need to do it for the moment.

My suggestion is to:

  • restart from the main branch
  • avoid changing any .nix files (don't update cargo2nix, nixpkgs or rust-overlay)
  • only update Rust dependencies in the Cargo.lock file
  • select which rust dependencies to update, e.g. we can exclude aws-sdk-config if it prevents building with the current 1.73 toolchain, it is not a critical dependency, it's not even part of Garage itself, it's only used for testing
Ok, so this escalated quickly. We are deadlocked, because: - The updated `aws-sdk-config` crate [requires rustc >= 1.77.0 and we are building with 1.73.0](https://woodpecker.deuxfleurs.fr/repos/1/pipeline/1212/5) - The updates to the flake.nix file that import a newer version of cargo2nix and a new compiler cause a [build error](https://woodpecker.deuxfleurs.fr/repos/1/pipeline/1235/3) of the kind `error: executing shell '/bin/bash': Argument list too long`. I'm not sure where this comes from, but until we are able to fix it, we cannot update the compiler version to 1.80 as I tried doing. I think trying to update the Nix dependencies (and the Rust toolchain) at the same time we updated Cargo dependencies was a bad move. Updating the toolchain is always hard, but we don't need to do it for the moment. My suggestion is to: - restart from the main branch - avoid changing any .nix files (don't update cargo2nix, nixpkgs or rust-overlay) - only update Rust dependencies in the Cargo.lock file - select which rust dependencies to update, e.g. we can exclude `aws-sdk-config` if it prevents building with the current 1.73 toolchain, it is not a critical dependency, it's not even part of Garage itself, it's only used for testing
lx force-pushed update-dependencies-1.1 from 7abf1f5833 to f3589fee77 2024-08-25 09:28:51 +00:00 Compare
Owner

Should fix #849

We are leaving the following for future PRs:

  • move back to cargo2nix upstream (this might break stuff)

  • update nixpkgs in flake.nix

  • update rust-overlay in flake.nix and update rust to 1.80 in nix/compile.nix (this might break stuff)

  • maybe: remove the obsolete clippy driver (it doesn't work)

  • eventually, allow upgrading the aws-* depenencies

Each of these things should be done independently in different PRs to avoid breaking stuff, we can probably do these steps one after another and keep a working CI build at every step.

Should fix #849 We are leaving the following for future PRs: - move back to cargo2nix upstream (this might break stuff) - update nixpkgs in flake.nix - update rust-overlay in flake.nix and update rust to 1.80 in nix/compile.nix (this might break stuff) - maybe: remove the obsolete clippy driver (it doesn't work) - eventually, allow upgrading the aws-* depenencies Each of these things should be done independently in different PRs to avoid breaking stuff, we can probably do these steps one after another and keep a working CI build at every step.
lx force-pushed update-dependencies-1.1 from 5432818ad1 to f3589fee77 2024-08-25 18:08:18 +00:00 Compare
Some checks failed
ci/woodpecker/push/debug Pipeline failed
ci/woodpecker/pr/debug Pipeline failed
Required
Details
This pull request has changes conflicting with the target branch.
  • Cargo.nix
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin update-dependencies-1.1:update-dependencies-1.1
git checkout update-dependencies-1.1
Sign in to join this conversation.
No reviewers
lx
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#847
No description provided.