Commit Graph

176 Commits

Author SHA1 Message Date
Pascal Hartig
911c3e297c Fix lints (#1716)
Summary:
Fix a lint that's currently failing.
See https://github.com/facebook/flipper/runs/1449249447?check_suite_focus=true

Pull Request resolved: https://github.com/facebook/flipper/pull/1716

Test Plan: cargo clippy succeeds now.

Reviewed By: nikoant

Differential Revision: D25170963

Pulled By: passy

fbshipit-source-id: 658f8b6abaef9860be9ff07447d2354727acb7c7
2020-11-27 04:10:09 -08:00
dependabot[bot]
e5f277ab71 Bump data-encoding from 2.3.0 to 2.3.1 in /packer (#1656)
Summary:
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.3.0 to 2.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="34d1f0e89a"><code>34d1f0e</code></a> Release 2.3.1</li>
<li><a href="47b548f82a"><code>47b548f</code></a> Fix deps.rs URLs</li>
<li><a href="3236d7fc82"><code>3236d7f</code></a> lib: Update changelog</li>
<li><a href="289dca9030"><code>289dca9</code></a> Update documentation</li>
<li><a href="76e21dd413"><code>76e21dd</code></a> Remove stable feature</li>
<li><a href="21eb6991b8"><code>21eb699</code></a> Add no-std test for macro</li>
<li><a href="a89028bcfc"><code>a89028b</code></a> force proc-macro to be no_std compatable</li>
<li><a href="848efe37c1"><code>848efe3</code></a> Add dependency badge to readme</li>
<li><a href="3699a0d665"><code>3699a0d</code></a> Update LICENSE date</li>
<li><a href="6476fb0bb1"><code>6476fb0</code></a> lib: Maybe fix <a href="https://github-redirect.dependabot.com/ia0/data-encoding/issues/33">https://github.com/facebook/flipper/issues/33</a></li>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/compare/v2.3.0...v2.3.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.3.0&new-version=2.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/1656

Test Plan: Ran `cargo check`.

Reviewed By: mweststrate

Differential Revision: D24826840

Pulled By: passy

fbshipit-source-id: 353416e0efb3e6bae16773cd535d6bd4f62825e3
2020-11-09 03:24:01 -08:00
Pascal Hartig
473f314da1 Update deps
Summary:
This should resolve all but one dependabot PRs. The `sha2` dependency
changes an API that's incompatible with our internally checked-in
`digest` crate.

Reviewed By: nikoant

Differential Revision: D24791506

fbshipit-source-id: 9a74e24b0efbe9c32c49c79eeb804eb9257bfb01
2020-11-06 12:26:18 -08:00
Pascal Hartig
aad6890f0f v0.2.0
Summary:
Bumping the version as the manifest is very much incompatible
with the previous one.

Reviewed By: jknoxville

Differential Revision: D24078358

fbshipit-source-id: 562a1216e8c913b18a2509b126402dbd56054c8d
2020-10-02 08:22:30 -07:00
Pascal Hartig
d477ed7818 Address lints
Summary: Just going through all the lints that have popped up.

Reviewed By: jknoxville

Differential Revision: D24078571

fbshipit-source-id: 06504aafa969eea92ee934ac607d3daf51e47914
2020-10-02 06:37:45 -07:00
Pascal Hartig
2bbd76803c Use new checksums in manifest
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
2020-10-02 03:20:21 -07:00
Pascal Hartig
cf4db8be24 Build intrinsic archive sum
Summary:
# Problem

Oddly enough, since the addition of ReactiveCocoa to Electron on MacOS, we're seeing non-determinism when creating tar archives. P144049799 shows the difference between two release artifacts built on Sandcastle. Their contents are identical but they're packed differently.

# Approach

To counter this, I'm now calculating the checksum not based on the archive itself but on its *sorted* contents by first inserting all files into a `BTreeMap` with the file path as key and then lastly hashing all hashes, building some sort of bastardised Merkle tree.

# This diff

I'm only implementing the hashing here. The next diff will actually make use of this.

# Further steps

This requires a few more downstream changes which will require some finesse to roll out.

- The manifest will need to include both the intrinsic and extrinsic checksums as Launcher depends on the latter to verify the download integrity. We could also calculate the intrinsic checksum again, but that just adds more complexity which is hard to debug.
- Sandcastle will need to understand the new manifest format and we need to schedule the MSDK rollout accordingly. Not a huge problem as the call volume is low and manual.
- We need to modify the artifact and release ents to contain both checksums.
- The release endpoint needs to be modified to return the checksum the launcher cares about.

Reviewed By: nikoant

Differential Revision: D24024011

fbshipit-source-id: 55de748178c033c18a69c79c68f12e7c1aaf4deb
2020-10-02 03:20:21 -07:00
David Tolnay
aeebec5cd7 Prepare for rustfmt 2.0
Summary:
Generated by formatting with rustfmt 2.0.0-rc.2 and then a second time with fbsource's current rustfmt (1.4.14).

This results in formatting for which rustfmt 1.4 is idempotent but is closer to the style of rustfmt 2.0, reducing the amount of code that will need to change atomically in that upgrade.

 ---

*Why now?* **:** The 1.x branch is no longer being developed and fixes like https://github.com/rust-lang/rustfmt/issues/4159 (which we need in fbcode) only land to the 2.0 branch.

 ---

Reviewed By: zertosh

Differential Revision: D23568784

fbshipit-source-id: 7401066bfc99390686eb3fd9dc6f9888ccef9487
2020-09-07 20:50:27 -07:00
dependabot[bot]
156b00ba42 Bump data-encoding from 2.2.0 to 2.3.0 in /packer (#1449)
Summary:
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.2.0 to 2.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="c0facaff53"><code>c0facaf</code></a> Release 2.3.0</li>
<li><a href="d215bc04cb"><code>d215bc0</code></a> lib: Add encode_append function</li>
<li><a href="07dfc9bde4"><code>07dfc9b</code></a> Remove fuzzit</li>
<li><a href="eaa9e11482"><code>eaa9e11</code></a> Release 2.2.1</li>
<li><a href="5aa1d4709b"><code>5aa1d47</code></a> lib: move cargo.toml badges to readme</li>
<li><a href="b6de71c398"><code>b6de71c</code></a> fix coveralls badge</li>
<li><a href="5d4ce64fbb"><code>5d4ce64</code></a> lib: use tarpaulin</li>
<li><a href="9b53af1e4a"><code>9b53af1</code></a> lib: explicit description</li>
<li><a href="f9d4bc3fc2"><code>f9d4bc3</code></a> lib: Add no-std category in Cargo.toml</li>
<li><a href="168aff449e"><code>168aff4</code></a> Release macro 0.1.8</li>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/compare/v2.2.0...v2.3.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.2.0&new-version=2.3.0)](https://help.github.com/articles/configuring-automated-security-fixes)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/1449

Reviewed By: mweststrate

Differential Revision: D23161719

Pulled By: passy

fbshipit-source-id: a7512b96ea8336595435f7a1eed5043b1578d642
2020-08-18 03:00:01 -07:00
dependabot[bot]
7e7f431c66 Bump electron-devtools-installer from 3.0.0 to 3.1.0 in /desktop (#1317)
Summary:
Bumps [electron-devtools-installer](https://github.com/MarshallOfSound/electron-devtools-installer) from 3.0.0 to 3.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/MarshallOfSound/electron-devtools-installer/releases">electron-devtools-installer's releases</a>.</em></p>
<blockquote>
<h2>v3.1.0</h2>
<h1><a href="https://github.com/MarshallOfSound/electron-devtools-installer/compare/v3.0.0...v3.1.0">3.1.0</a> (2020-06-27)</h1>
<h3>Features</h3>
<ul>
<li>add electron 9 support (<a href="https://github-redirect.dependabot.com/MarshallOfSound/electron-devtools-installer/issues/131">https://github.com/facebook/flipper/issues/131</a>) (<a href="ab713a639c">ab713a6</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f6932ad87d"><code>f6932ad</code></a> chore: fix tests</li>
<li><a href="ab713a639c"><code>ab713a6</code></a> feat: add electron 9 support (<a href="https://github-redirect.dependabot.com/MarshallOfSound/electron-devtools-installer/issues/131">https://github.com/facebook/flipper/issues/131</a>)</li>
<li>See full diff in <a href="https://github.com/MarshallOfSound/electron-devtools-installer/compare/v3.0.0...v3.1.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=electron-devtools-installer&package-manager=npm_and_yarn&previous-version=3.0.0&new-version=3.1.0)](https://help.github.com/articles/configuring-automated-security-fixes)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1317

Reviewed By: mweststrate

Differential Revision: D22310350

Pulled By: passy

fbshipit-source-id: d043248ebd57976c5cfde267741977846c77c065
2020-07-01 06:11:35 -07:00
Pascal Hartig
ba0a706bc8 Small fixes
Summary: Some small perf improvements, remove unnecessary cloning, etc.

Reviewed By: jknoxville

Differential Revision: D22307521

fbshipit-source-id: 91cfd16b0b05a24ec9639c2a2e26d504a6b01de4
2020-06-30 06:20:11 -07:00
Pascal Hartig
ceb9c942dc Back out "Bump sha2 from 0.8.1 to 0.9.1 in /packer"
Summary: Original commit changeset: 300f53aa1b69

Reviewed By: mweststrate

Differential Revision: D22288114

fbshipit-source-id: bc492dc633d66c993cddef49650818012cd0c9a1
2020-06-30 04:44:29 -07:00
dependabot[bot]
39afce7ceb Bump sha2 from 0.8.1 to 0.9.1 in /packer (#1304)
Summary:
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.8.1 to 0.9.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="fb7186fb83"><code>fb7186f</code></a> Release sha-1 v0.9.1 and sha2 v0.9.1 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/177">https://github.com/facebook/flipper/issues/177</a>)</li>
<li><a href="f4f6ed5304"><code>f4f6ed5</code></a> Add build status links (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/176">https://github.com/facebook/flipper/issues/176</a>)</li>
<li><a href="a380194a69"><code>a380194</code></a> Add x86 intrinsics support for sha1 and sha2 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/167">https://github.com/facebook/flipper/issues/167</a>)</li>
<li><a href="570a200160"><code>570a200</code></a> Fix build links (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/174">https://github.com/facebook/flipper/issues/174</a>)</li>
<li><a href="feea49ec7e"><code>feea49e</code></a> update README examples (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/173">https://github.com/facebook/flipper/issues/173</a>)</li>
<li><a href="fcb7516192"><code>fcb7516</code></a> Release <code>gost94</code> and <code>streebog</code> (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/172">https://github.com/facebook/flipper/issues/172</a>)</li>
<li><a href="5fdcd03d5f"><code>5fdcd03</code></a> shabal v0.3.0 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/171">https://github.com/facebook/flipper/issues/171</a>)</li>
<li><a href="f427563094"><code>f427563</code></a> Release <code>groestl</code>, <code>md2</code>, <code>md4</code>, <code>ripemd320</code>, <code>whirlpool</code> v0.9.0 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/169">https://github.com/facebook/flipper/issues/169</a>)</li>
<li><a href="15c3060629"><code>15c3060</code></a> Bump opaque-debug to v0.3.0 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/168">https://github.com/facebook/flipper/issues/168</a>)</li>
<li><a href="d24f26b165"><code>d24f26b</code></a> Update block-buffer to v0.9 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/164">https://github.com/facebook/flipper/issues/164</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/RustCrypto/hashes/compare/sha2-v0.8.1...sha2-v0.9.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sha2&package-manager=cargo&previous-version=0.8.1&new-version=0.9.1)](https://help.github.com/articles/configuring-automated-security-fixes)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1304

Reviewed By: jknoxville

Differential Revision: D22284220

Pulled By: passy

fbshipit-source-id: 300f53aa1b69e53d13e1095eb7755c2383a73e35
2020-06-29 07:35:52 -07:00
dependabot-preview[bot]
4a7d207134 Bump clap from 2.33.0 to 2.33.1 in /packer (#1170)
Summary:
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.0 to 2.33.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v2.33.1</h2>
<p><a name="v2.33.1"></a></p>
<h3>v2.33.1 (2020-05-11)</h3>
<h4>Bug Fixes</h4>
<ul>
<li>Windows: Prevent some panics when parsing invalid Unicode on Windows (<a href="922c645083">922c645</a>, closes <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/1905">#1905</a>)</li>
</ul>
<h4>Documentation</h4>
<ul>
<li>fixes versions referenced in the README (<a href="d307466af1">d307466a</a>)</li>
<li><strong>README.md:</strong>
<ul>
<li>cuts down the number of examples to reduce confusion (<a href="6e508ee09e">6e508ee0</a>)</li>
</ul>
</li>
</ul>
<h4>Improvements</h4>
<ul>
<li><strong>Deps:</strong>  doesnt compile ansi_term on Windows since its not used (<a href="b57ee94609">b57ee946</a>, closes <a href="https://github-redirect.dependabot.com/kbknapp/clap-rs/issues/1155">https://github.com/facebook/flipper/issues/1155</a>)</li>
</ul>
<h4>Minimum Required Rust</h4>
<ul>
<li>As of this release, <code>clap</code> requires <code>rustc 1.36.0</code> or greater.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/v2.33.1/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h3>v2.33.1 (2020-05-11)</h3>
<h4>Bug Fixes</h4>
<ul>
<li>Windows: Prevent some panics when parsing invalid Unicode on Windows (<a href="922c645083">922c645</a>, closes <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/1905">#1905</a>)</li>
</ul>
<h4>Documentation</h4>
<ul>
<li>fixes versions referenced in the README (<a href="d307466af1">d307466a</a>)</li>
<li><strong>README.md:</strong>
<ul>
<li>cuts down the number of examples to reduce confusion (<a href="6e508ee09e">6e508ee0</a>)</li>
</ul>
</li>
</ul>
<h4>Improvements</h4>
<ul>
<li><strong>Deps:</strong>  doesnt compile ansi_term on Windows since its not used (<a href="b57ee94609">b57ee946</a>, closes <a href="https://github-redirect.dependabot.com/kbknapp/clap-rs/issues/1155">https://github.com/facebook/flipper/issues/1155</a>)</li>
</ul>
<h4>Minimum Required Rust</h4>
<ul>
<li>As of this release, <code>clap</code> requires <code>rustc 1.36.0</code> or greater.</li>
</ul>
<p><a name="v2.33.0"></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ffb8d552c2"><code>ffb8d55</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/1917">#1917</a> from clap-rs/v2.33.1</li>
<li><a href="7ac16ac5c7"><code>7ac16ac</code></a> chore: increase ver ref in lib.rs</li>
<li><a href="bc3291db8e"><code>bc3291d</code></a> chore: increase version on v2 branch</li>
<li><a href="922c645083"><code>922c645</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/1907">#1907</a> from oconnor663/windows_2.33</li>
<li><a href="703caf37c4"><code>703caf3</code></a> prevent some panics when parsing invalid Unicode on Windows</li>
<li><a href="0129fe517a"><code>0129fe5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/1673">#1673</a> from clap-rs/v2-ci</li>
<li><a href="48a71f35ac"><code>48a71f3</code></a> Update minimum rust version</li>
<li><a href="57baeb489c"><code>57baeb4</code></a> Formatted rust</li>
<li><a href="f9ffeb8616"><code>f9ffeb8</code></a> CI for v2-master</li>
<li><a href="fa45af5cad"><code>fa45af5</code></a> where -&gt; were</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v2.33.0...v2.33.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=2.33.0&new-version=2.33.1)](https://dependabot.com/compatibility-score/?dependency-name=clap&package-manager=cargo&previous-version=2.33.0&new-version=2.33.1)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1170

Reviewed By: passy

Differential Revision: D21619402

Pulled By: cekkaewnumchai

fbshipit-source-id: 88f9d7579e4c5c0027b2144006fbaff7a02540ef
2020-05-18 09:12:01 -07:00
dependabot-preview[bot]
2494bb76b5 Bump anyhow from 1.0.28 to 1.0.31 in /packer (#1169)
Summary:
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.28 to 1.0.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.31</h2>
<ul>
<li>Restore &quot;Stack backtrace&quot; header label above the backtrace in <code>{:?}</code> representation (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/92">https://github.com/facebook/flipper/issues/92</a>)</li>
</ul>
<h2>1.0.30</h2>
<ul>
<li>Hide an error message that appears when building with <code>cargo rustc -vv</code> (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/91">https://github.com/facebook/flipper/issues/91</a>, thanks <a href="https://github.com/eoger">eoger</a>)</li>
</ul>
<h2>1.0.29</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="144763cf99"><code>144763c</code></a> Release 1.0.31</li>
<li><a href="f7424bd1da"><code>f7424bd</code></a> Show an example of {:?} without backtrace</li>
<li><a href="5e4177fc4c"><code>5e4177f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/92">https://github.com/facebook/flipper/issues/92</a> from dtolnay/backtrace</li>
<li><a href="6d33c15b96"><code>6d33c15</code></a> Restore 'Stack backtrace:' above the backtrace</li>
<li><a href="2aa0cc1aba"><code>2aa0cc1</code></a> Release 1.0.30</li>
<li><a href="afc3079dda"><code>afc3079</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/91">https://github.com/facebook/flipper/issues/91</a> from eoger/silent-probe</li>
<li><a href="5ed5f56f0c"><code>5ed5f56</code></a> Redirect probe compile errors to /dev/null</li>
<li><a href="290d3d2a50"><code>290d3d2</code></a> Release 1.0.29</li>
<li><a href="5e1a1f8b01"><code>5e1a1f8</code></a> Try out a new style of readme badges</li>
<li><a href="16f607efaa"><code>16f607e</code></a> Add crosslink icons to top of rustdoc</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.28...1.0.31">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.28&new-version=1.0.31)](https://dependabot.com/compatibility-score/?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.28&new-version=1.0.31)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1169

Reviewed By: passy

Differential Revision: D21619401

Pulled By: cekkaewnumchai

fbshipit-source-id: 06e3d86104c4809a3a464a683552e6523a2b67d3
2020-05-18 08:46:38 -07:00
Pascal Hartig
6355076c90 Implement compression
Summary:
Compresses artifacts with LZMA by default. `--no-compression` can be used
to skip the quite time-intensive task to just quickly check if the archives
still add up to a full distribution.

Reviewed By: jknoxville

Differential Revision: D21456052

fbshipit-source-id: dfa4686f3fe7ce342b62dab4b5203bc0aad37d9a
2020-05-13 08:09:06 -07:00
Pascal Hartig
a3e323c4b5 Loosen version constraints (#1150)
Summary:
Close https://github.com/facebook/flipper/issues/1147
Close https://github.com/facebook/flipper/issues/1148
Close https://github.com/facebook/flipper/issues/1148

Test Case:
cargo run
Pull Request resolved: https://github.com/facebook/flipper/pull/1150

Reviewed By: jknoxville

Differential Revision: D21503792

Pulled By: passy

fbshipit-source-id: f4093c76c93a836a4aaa4a9b0a08f6f5190fe2fd
2020-05-12 04:18:52 -07:00
Pascal Hartig
f00cd2964e Move main Info.plist to core bundle
Summary:
This does actually change from version to version as can be seen
when bundling both 0.40 and 0.41:

{F236391778}

Reviewed By: jknoxville

Differential Revision: D21426528

fbshipit-source-id: 53c0565f7693010a2096088af1829eab210a75cc
2020-05-07 07:22:53 -07:00
Pascal Hartig
dc783bcb19 Show progress bars
Summary: Add progress bars. The previous change broke the display as we'd write to the console in parallel, too.

Reviewed By: jknoxville

Differential Revision: D21405230

fbshipit-source-id: 3a60690c216fd2f44816ef1b01917f66ebe804df
2020-05-07 07:22:52 -07:00
Pascal Hartig
59aa7decc4 Parallelise packing
Summary: Parallelise packing and hashing. Delightfully small change.

Reviewed By: jknoxville

Differential Revision: D21405209

fbshipit-source-id: 095c7886f71e45b0889020ddcfe79f2392ce3218
2020-05-07 07:22:52 -07:00
Pascal Hartig
634bd00ab5 Refactor fold to map
Summary: This is to make parallelising this in the next step easier.

Reviewed By: jknoxville

Differential Revision: D21405192

fbshipit-source-id: b1f2841526a65fcbf545feb69f258874c2134603
2020-05-07 07:22:52 -07:00
Pascal Hartig
42e080776f Add error context
Summary: When file writing fails, attach some context in the error message.

Reviewed By: jknoxville

Differential Revision: D21400273

fbshipit-source-id: f7cce5446ec27d5eb38f1902f24c61169dd644ac
2020-05-07 07:22:51 -07:00
Pascal Hartig
5cc9af4b5d Hashing and Manifest
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
2020-05-07 07:22:51 -07:00
Pascal Hartig
8818fbe375 Build all artifacts from packlist
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
2020-05-01 09:43:17 -07:00
Pascal Hartig
2c20f016d4 Use anyhow for error handling
Summary:
This is a nice solution if you don't want to spend
too much time thinking about error handling.
You have one common return type and can basically use `?`
everywhere while still maintaining the flexibility to
create custom error types where needed.

Reviewed By: jknoxville

Differential Revision: D21349046

fbshipit-source-id: 073539ce8422cdb3e0141886e95321052bc0c7a3
2020-05-01 09:43:16 -07:00
Pascal Hartig
155a8c6952 Initial packer project
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
2020-05-01 04:04:48 -07:00