Page MenuHomePhabricator

[Nix] Update nixpkgs
ClosedPublic

Authored by jon on Aug 16 2023, 10:31 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 17, 9:03 AM
Unknown Object (File)
Tue, Dec 17, 1:46 AM
Unknown Object (File)
Tue, Dec 17, 1:46 AM
Unknown Object (File)
Tue, Dec 17, 1:46 AM
Unknown Object (File)
Tue, Dec 17, 1:46 AM
Unknown Object (File)
Tue, Dec 17, 1:41 AM
Unknown Object (File)
Wed, Dec 11, 7:32 PM
Unknown Object (File)
Fri, Dec 6, 12:25 AM
Subscribers

Details

Reviewers
varun
atul
kamil
bartek
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rCOMMffc458d606d8: [Nix] Update nixpkgs
Summary

Update most of the tooling with exception of arcanist and MariaDB
which require additonal work to be compatible.

Also prune much of the C++ libraries which are no longer being used
since the C++ tunnelbroker codebase has been removed. These C++ libraires
were also a significant contributer to Nix build times.

Part of: https://linear.app/comm/issue/ENG-4638

Test Plan
  • Web, iOS, and Android dev work flow
  • Run identity + tunnelbroker integration tests

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.Aug 16 2023, 10:31 PM
Harbormaster returned this revision to the author for changes because remote builds failed.Aug 16 2023, 10:38 PM
Harbormaster failed remote builds in B21816: Diff 29987!

Pin emscripten, as there's significant changes

nix/dev-shell.nix
35 ↗(On Diff #29987)

this also means we don't have to build protobuf locally anymore

nix/overlay.nix
13–37 ↗(On Diff #29987)

this has been upstreamed by me many months ago, no need to build it locally anymore

54 ↗(On Diff #29987)

we used to need this when we had the C++ grpc bindings, but rust just needs protoc to be on PATH now.

63–64 ↗(On Diff #29987)

was moved to flake.nix

74–82 ↗(On Diff #29987)

we no longer use this. Originally it was for projects under native/cpp/CommonCpp/, but those now reference olm from node_modules

scripts/comm-dev.sh
40–45 ↗(On Diff #29987)

This is required, as the RabbitMQ update mandates you either:

  • Have the current rabbitmq instance running and set a feature flag to force behavior into new default, then run new rabbitmq instance.
  • Clear the current state and run the newer rabbitmq avoiding a migration

I chose to clear the state as the migration steps caused me to get into a bad state. Also, local development state shouldn't be sensitive, so "resetting" the state seems to be an easier process to describe.

Lastly, this should only affect people who have ran comm-dev services start.

flake.nix
32 ↗(On Diff #29988)

@kamil , there's been a lot of significant changes between emcc 3.1.17 and emcc 3.1.42. We should probably have a follow-up task to do the bump and fix the build for 3.1.42.

LGTM, thanks for doing this!
Letting others review as well

kamil added inline comments.
flake.nix
32 ↗(On Diff #29988)

Sure, ENG-4679.

This revision is now accepted and ready to land.Aug 21 2023, 8:55 AM
This revision was automatically updated to reflect the committed changes.