Summary:
The limitation to two types is arbitrary and limiting. Instead, we want to be able to create as many cache artifacts as is sensible to improve the caching behaviour.
A lot of unnecessary cloning in here. I might optimise this a bit in the future but it's not really perf critical as this is highly I/O bound.
Reviewed By: lblasa
Differential Revision: D38155922
fbshipit-source-id: 78b86ebff54269c5049e59197f1c25fedfad0111
Summary:
Just a bit of extra type safety. The previous diff caused a bit of a regression
by making things stringly-typed.
Reviewed By: lblasa
Differential Revision: D35902107
fbshipit-source-id: a599106f899ec3d205663b5791420aee29f3eeae
Summary: This allows us to extend this more easily to server builds, too.
Reviewed By: lblasa
Differential Revision: D35901750
fbshipit-source-id: 7030846ad485d709cf4c2e95f0cad287f98b051b
Summary:
This had collected a bit of dust and we will need to extend this a little for flipper-server.
- Update deps.
- Migrate away from deprecated clap2 model to derive (it's much shorter now and less imperative).
- ~~Some COW changes on how the progress bar crate handles strings.~~ (Reverted as this causes havvoc in `fbsource//third-party/rust`.)
- Upgraded to 2021 Edition.
Reviewed By: nikoant
Differential Revision: D35433571
fbshipit-source-id: ae0a91558610ae46069a5fc5162b524cde759454
Summary:
Electron 12 broke packing again because one file was renamed. I'm now setting up a separate mode for using globs and ignores to create artifact bundles. This will work like a reverse gitignore file. However, to keep the logic simple, I'll keep the old mode for MacOS where the folder structure lends itself to comprehensive, exact lists.
**This doesn't actually change anything just yet apart from the "packfile" format. The next diff will add the new packing mode. Feedback is always welcome but there's no need for super close scrutiny.**
Reviewed By: mweststrate
Differential Revision: D27191506
fbshipit-source-id: 663cef8b93eef6c2dbb56ef66de51ea9551412dd
Summary: Just going through all the lints that have popped up.
Reviewed By: jknoxville
Differential Revision: D24078571
fbshipit-source-id: 06504aafa969eea92ee934ac607d3daf51e47914
Summary: This now makes use of the `tarsum` mod to surface both intrinsic and extrinsic checksums as part of the manifest. I also threw in the file name and the bytes for good measure. This is output in Sandcastle logs and can help identify mismatches. The filename also means we no longer have to rely on piecing together paths on Sandcastle which is nice.
Reviewed By: nikoant
Differential Revision: D24046464
fbshipit-source-id: dc6dc50eb510a067674166b5fdb11af9cf6762b2
Summary: Hashes the artifacts and adds the information to a manifest. This will then be used to upload to a blob store, and save the information so it can be retrieved again later. Not sure if I want to stick with SHA256 or if there's something more efficient like Cityhash, given that we don't really care about cryptographic properties here.
Reviewed By: jknoxville
Differential Revision: D21380369
fbshipit-source-id: e9c5cd56d94f3083ae5ed6396673d00cbf98ce39
Summary:
Instead of hardcoding the targets, it will now build all specified
types in the "packlist".
Reviewed By: jknoxville
Differential Revision: D21349762
fbshipit-source-id: 58f4a3bbf0b6ff4dd87eb44bbd7b200127da8017
Summary:
This is a tool (right now more a script, really) for splitting a Flipper distribution into smaller chunks that can be individually cached, hashed and downloaded. It's incomplete but can already bundle up Mac apps into smaller chunks that can be merged back again into one app.
It takes a config file that specifies how to slice the inputs up and comes with a default copy bundled in. That's in line with the general "design" where it tries to make the right assumptions, for instance defaulting to the normal dist output directory.
Reviewed By: jknoxville
Differential Revision: D21302551
fbshipit-source-id: b22670ff4825ce526dd0f20320f87080c058cd93