Summary:
Update our README file with an announcement of our distribution change. I will pair the announcement with an update to our GitHub workflow as to not produce any more Electron builds for future releases.
Changelog: Flipper Electron distribution change announcement.
Reviewed By: aigoncharov
Differential Revision: D51616454
fbshipit-source-id: 5ff513b3d99c8100ed8241d1bdafebf1d6dcfa10
Summary:
This diff switches to `softprops/action-gh-release@v0.1.15` for creating a release since `actions/create-release` is *archived* and is **NOT maintained**.
### Ref.:
- `actions/create-release` archived and not maintained notice: https://github.com/actions/create-release
- `softprops/action-gh-release@v0.1.15` changelog: https://github.com/softprops/action-gh-release/releases/tag/v0.1.15
## Changelog:
[GENERAL] [SECURITY] - [Actions] `release` - Switch to `softprops/action-gh-release@v0.1.15` to create a release
Pull Request resolved: https://github.com/facebook/flipper/pull/4870
Test Plan: - Workflow should run and work as usual.
Reviewed By: lblasa
Differential Revision: D47829486
Pulled By: passy
fbshipit-source-id: fea3b9ed7b76736bcc85d6bd1fa43a14d10a8763
Summary:
This diff bumps `hramos/needs-attention` to `v2.0.0` & `actions/checkout` to `v3`
- `hramos/needs-attention@v2.0.0` is a `latest` **BREAKING** release with a number of improvements made by Pranav-yadav i.e. ***me*** 😎
### Major Improvements:
`hramos/needs-attention@v2.0.0`:
- Bump `Node.js` to `v16`
- Bump `actions/checkout` to `v3`
- Add **TypeScript**
- Generate and publish **fully compiled** dist (with deps) instead of `node_modules`
### Ref.:
- Full Changelog for `v2.0.0`: https://github.com/hramos/needs-attention/releases/tag/v2.0.0
- Marketplace `v2.0.0`: https://github.com/marketplace/actions/needs-attention?version=v2.0.0
## Changelog:
[GENERAL] [SECURITY] - [Actions] `issues` - Bump `hramos/needs-attention` to `v2.0.0` & `actions/checkout` to `v3`
Pull Request resolved: https://github.com/facebook/flipper/pull/4862
Test Plan: - Workflow should add and remove respective labels as usual.
Reviewed By: lblasa
Differential Revision: D47017048
Pulled By: passy
fbshipit-source-id: ebc70e2c64e1d782977da96863d9b9969a453551
Summary:
This diff switches to `dtolnay/rust-toolchain@stable` since `actions-rs/toolchain` is **NOT maintained** and bumps `actions/checkout@v3.5.3`
> **Note**:
> `uses: dtolnay/rust-toolchain@stable`
> The selection of Rust toolchain is made based on the particular `rev` of this Action being requested. For example `dtolnay/rust-toolchain@nightly` pulls in the `nightly` Rust toolchain, while `dtolnay/rust-toolchain@1.42.0` pulls in `1.42.0`.
### Ref.:
- `actions-rs/toolchain` is **NOT Maintained**, issue:
https://github.com/actions-rs/toolchain/issues/216
- `dtolnay/rust-toolchain@stable` usage note: https://github.com/dtolnay/rust-toolchain#example-workflow
- `actions/checkout@v3.5.3` changelog: https://github.com/actions/checkout/releases/tag/v3.5.3
## Changelog:
[GENERAL] [SECURITY] - [Actions] `packer` - Switch to `dtolnay/rust-toolchain@stable` & bump `actions/checkout@v3.5.3`
Pull Request resolved: https://github.com/facebook/flipper/pull/4878
Test Plan: - Workflow should run and work as usual.
Reviewed By: lblasa
Differential Revision: D47056977
Pulled By: passy
fbshipit-source-id: 68023fcce355831314af2f31d514ed95efb7788c
Summary:
Bumps [metro-config](https://github.com/facebook/metro) from 0.75.0 to 0.76.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/metro/releases">metro-config's releases</a>.</em></p>
<blockquote>
<h2>v0.76.0</h2>
<ul>
<li><strong>[Breaking]</strong>: Increase minimum Node version from 14 to 16. (<a href="e5950aeaf0</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
<li><strong>[Breaking]</strong>: Remove <code>isAssetFile</code> from custom resolver context, add <code>assetExts</code>. (<a href="c6548f7ccc</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
<li><strong>[Feature]</strong>: Support <a href="https://facebook.github.io/metro/docs/module-api#requireresolveweak"><code>require.resolveWeak()</code></a>. (<a href="354d6e487a</a> by <a href="https://github.com/motiz88"><code>@motiz88</code></a>)</li>
<li><strong>[Fix]</strong>: Don't over-invalidate on symlink changes if resolution through symlinks is not enabled. (<a href="2303c10b6b</a> by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
<li><strong>[Fix]</strong>: Returning <code>false</code> from <a href="https://facebook.github.io/metro/docs/resolution#redirectmodulepath-string--string--false"><code>context.redirectModulePath</code></a> will resolve to empty module in all cases. (<a href="0f1846a64d</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
<li><strong>[Fix]</strong>: Respect extensionless entries in <code>browser</code>, <code>react-native</code> etc when resolving subpath package specifiers. (<a href="7e922270de</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
<li><strong>[Fix]</strong>: Remove undocumented Meta-only <code>__jsResource</code> and <code>__conditionallySplitJsResource</code> functions from module API. (<a href="f1d905bb60</a> and <a href="69c8fc707b</a> by <a href="https://github.com/motiz88"><code>@motiz88</code></a>)</li>
</ul>
<blockquote>
<p>NOTE: Experimental features are not covered by semver and can change at any time.</p>
</blockquote>
<ul>
<li><strong>[Experimental]</strong>: Fixes and improvements for symlink support. (<a href="0e2a70a439</a>, <a href="3bef954304</a>, and <a href="eeb211fdcf</a> by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
<li><strong>[Experimental]</strong>: Fix bug where <code>"exports"</code> field would be used on relative imports within a package. (<a href="cd25c2b5bb</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
</ul>
<h2>v0.75.1</h2>
<ul>
<li><strong>[Feature]</strong>: <code>metro-inspector-proxy</code>: Add a human-readable reference to each inspector entries/pages.(<a href="https://github-redirect.dependabot.com/facebook/metro/pull/921">facebook/metro#921</a> by <a href="https://github.com/byCedric"><code>@byCedric</code></a>)</li>
<li><strong>[Feature]</strong>: <code>metro-inspector-proxy</code>: Report errors in the console. (<a href="da8b41b279</a> by <a href="https://github.com/mattbfb"><code>@mattbfb</code></a>)</li>
<li><strong>[Fix]</strong>: Race condition where a very recently modified file might have missing metadata.(<a href="baf28ab0ee</a> by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
<li><strong>[Fix]</strong>: Source maps may have invalid entries when using Terser minification. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/928">facebook/metro#928</a> by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
<li><strong>[Fix]</strong>: <code>metro-inspector-proxy</code>: Fetch source maps from Metro. (<a href="6690b393cc</a> by <a href="https://github.com/mattbfb"><code>@mattbfb</code></a>)</li>
<li><strong>[Fix]</strong>: Mitigate potential source map mismatches with concurrent transformations due to <a href="https://github-redirect.dependabot.com/terser/terser/issues/1341">terser#1341</a>. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/929">facebook/metro#929</a> by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
</ul>
<blockquote>
<p>NOTE: Experimental features are not covered by semver and can change at any time.</p>
</blockquote>
<ul>
<li><strong>[Experimental]</strong>: Add initial_build annotation to Resolving and Transforming Dependencies (<a href="fc83b521b2</a> by <a href="https://github.com/blakef"><code>@blakef</code></a>)</li>
<li><strong>[Experimental]</strong>: Implement support for Package Exports (enabled via <code>resolver.unstable_enablePackageExports</code>) (<a href="4d7ab38ba9</a>, <a href="38b96f872a</a>, <a href="216d3e234c</a>, <a href="6e6f36fd98</a> by <a href="https://github.com/huntie"><code>@huntie</code></a>)</li>
<li><strong>[Experimental]</strong>: Implement support for symlinks (enabled via <code>resolver.unstable_enableSymlinks</code>) (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/925">facebook/metro#925</a>, <a href="https://github-redirect.dependabot.com/facebook/metro/pull/926">facebook/metro#926</a>, etc. by <a href="https://github.com/robhogan"><code>@robhogan</code></a>)</li>
</ul>
<p><strong>Full Changelog:</strong> <a href="https://github.com/facebook/metro/compare/v0.75.0...v0.75.1">https://github.com/facebook/metro/compare/v0.75.0...v0.75.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="64d85f0c06"><code>64d85f0</code></a> Release 0.76.0</li>
<li><a href="c6548f7ccc"><code>c6548f7</code></a> Add assetExts to ResolutionContext, remove isAssetFile</li>
<li><a href="64426854e3"><code>6442685</code></a> Upgrade to Flow 0.201.0</li>
<li><a href="4876b6e701"><code>4876b6e</code></a> Bump <code>@braintree/sanitize-url</code> from 6.0.0 to 6.0.2 in /website (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/935">https://github.com/facebook/flipper/issues/935</a>)</li>
<li><a href="79baa715cd"><code>79baa71</code></a> Update website Open Graph image</li>
<li><a href="3cbd9ae2ad"><code>3cbd9ae</code></a> Fix Haste map cleanup with Haste module duplicates</li>
<li><a href="cd25c2b5bb"><code>cd25c2b</code></a> Update exports resolution to ignore absolute and relative imports</li>
<li><a href="7e922270de"><code>7e92227</code></a> Fix resolution edge case for package subpaths redirected by mainFields</li>
<li><a href="4c520eda2e"><code>4c520ed</code></a> Document module API</li>
<li><a href="ad31b162d8"><code>ad31b16</code></a> Replace regex String.replace uses with String.replaceAll (drop Node.js 14 com...</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/metro/compare/v0.75.0...v0.76.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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/4582
Reviewed By: mweststrate
Differential Revision: D44131764
Pulled By: passy
fbshipit-source-id: 2a218377147d0803728c50fb753260c74942f6a1
Summary:
It's currently failing and a few according to [the docs](https://github.com/benc-uk/workflow-dispatch) the token we supply shouldn't be necessary.
Pull Request resolved: https://github.com/facebook/flipper/pull/4495
Test Plan:
Sadly only one way:
testinprod
Reviewed By: lblasa
Differential Revision: D42989714
Pulled By: passy
fbshipit-source-id: e758340a583e351ff4e384514b70fecdf8bb3129
Summary:
The release workflow is using a version of the github release action that is broken, due to ghr now being dynamically linked and not compatible with Alpine Linux's minimal version of libc. The fix is to use the version of the action which installs gcompat so that ghr can run on the docker image.
## Changelog
Update release workflow to use version of action compatible with latest version of ghr.
Pull Request resolved: https://github.com/facebook/flipper/pull/4220
Test Plan: N/A
Reviewed By: nikoant
Differential Revision: D40443738
Pulled By: aigoncharov
fbshipit-source-id: 7765420fbe034aa80ce07c698ff83773c81ed52f
Summary:
Android publishing job fails to attach APKs to the release. An OSS user (rasaha91) came up with a fix. Since passy is on a leave, I've made my own fork to get unblocked.
See https://github.com/aigoncharov/github-upload-release-artifacts-action
Reviewed By: lblasa
Differential Revision: D40378208
fbshipit-source-id: 35e8f41700972751b63014e35696e61cfe986eae
Summary:
The publish job in the release workflow has been failing, but an issue has failed to be created due to the template file not being found. As per the error message, the template file isn't found because we need to check out the repo first.
## Changelog
Fix problem with auto-creating issue upon publish failure.
Pull Request resolved: https://github.com/facebook/flipper/pull/4209
Test Plan: Not able to run this locally, so we will need to wait upon the next release to ensure the issue gets created.
Reviewed By: mweststrate
Differential Revision: D40341329
Pulled By: aigoncharov
fbshipit-source-id: a9ad0a52a41ca13757fdd674937a075a024f618f
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/4052
Update to use Java 11 instead of 1.8.
Aim is to bring parity with the other existing workflows but more importantly fix the build as is broken at the moment.
Reviewed By: antonk52
Differential Revision: D39254936
fbshipit-source-id: c60332a288d9a671df5db0180fb501ddf185a075
Summary:
This is pretty dumb but hopefully good enough to prevent accidental regressions. We simply check if there are "enough" `libevent_core.so`s in the bundle. This is obviously not future-proof but it's super cheap to run and if it causes problems at some point, we can always remove it.
Apologies for the formatting spam. Didn't notice until I submitted this that my editor got a little passive-aggressive.
Pull Request resolved: https://github.com/facebook/flipper/pull/3436
Test Plan: CI here.
Reviewed By: lblasa
Differential Revision: D34210743
Pulled By: passy
fbshipit-source-id: a57c397e39456fae33af9f3ceed08b6944eac79e
Summary:
This is really stupid but the download creates a directory with the same name before putting the file in it. I think `v2` no longer does but hey, this is the devil we know.
You can look at the actions further down to see that we reference all the other downloads by `filename/filename` as well, so this should do it.
Pull Request resolved: https://github.com/facebook/flipper/pull/3366
Test Plan: Another release, I'm afraid. This is a step you cannot dry-run.
Reviewed By: cekkaewnumchai, aigoncharov
Differential Revision: D33842700
Pulled By: passy
fbshipit-source-id: d6f7a4a711ec056ba16f13c72f2c550e9a632ac0
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3315
Before this change, it was impossible to make changes to js-flipper and react-flipper-example at the same time because react-flipper-example used a published version of js-flipper
Reviewed By: passy
Differential Revision: D33623034
fbshipit-source-id: b291b18aace49163a6edc4a3f5c22da9ef936b7c
Summary:
It's late Friday now and we still don't have a release out.
Let's revert this once we've got one stable build out.
Pull Request resolved: https://github.com/facebook/flipper/pull/3291
Reviewed By: fabiomassimo
Differential Revision: D33584907
Pulled By: passy
fbshipit-source-id: 1117a177c8eb12c7db69a53ad0bc949b53aaf04f
Summary:
This previous attempt didn't work. Not even sure what happens now, it seems to just return the result of a boolean evaluation? Cool.
Still haven't verified that this works in the release build but noticed that we do effectively the same in the build step. By upgrading to the same revision of the action we use and then switching from `&&` to simply `;`, we can be reasonably sure that this will work now.
The alternative would be to switch to `pwsh` which appears to be the new name. `powershell` is the default shell and seems to be an older version without support for `&&`. I honestly never want to touch this or read about it again, so let's go with the simpler option.
Pull Request resolved: https://github.com/facebook/flipper/pull/3289
Reviewed By: aigoncharov
Differential Revision: D33582853
Pulled By: passy
fbshipit-source-id: 7c70ff360a5c327139b6ecb5463e85883a2caf9d
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3211
The GH retry action did ate all the stdout / stderr, so if the retry fails, it was completely unclear why. This was fixed in a newer version of the action
Reviewed By: antonk52
Differential Revision: D33308437
fbshipit-source-id: a599161e0c72b95b35e6ecab8cd84c6fa7027cd3
Summary:
This includes a bunch of different things which I wanted to do separately, but it's all a massive Jenga Tower and you cannot remove a single piece.
- Litho upgrade
- Gradle plugin upgrade
- Remove storage permission as it apparently doesn't do anything above Android 10
- Upgraded build target to Android 12 because the new support lib/Kotlin stdlib required this which then caused the issue below to pop up
- Added "export=true" everywhere as this is now a blocking issue if you don't have it
- Upgraded to the LeakCanary2 plugin as version one no longer builds with an Android 12 target for the export reason
- Make CI run on JRE 11 because that's required by the new Gradle plugin
- Update internal CI to no longer define the SDK twice and use Java 11
Pull Request resolved: https://github.com/facebook/flipper/pull/3095
Test Plan: Built Android Sample and Tutorial app, connected to Flipper.
Reviewed By: lblasa
Differential Revision: D32644410
Pulled By: passy
fbshipit-source-id: 8978f158d9c642b3bbd9dbbd7321eb20098a7a53
Summary:
This one is actually fine. We don't do the upload/download dance,
so the file exists in the place we expect it to.
We can see in this run that the current path actually works:
https://github.com/facebook/flipper/runs/4316082427?check_suite_focus=true
Reviewed By: nikoant
Differential Revision: D32652626
fbshipit-source-id: ca9c52d2c3016fe2ec300d1f4fd875b9f3301e3b
Summary:
I can run the same commands locally and everything is fine but in CI, it creates two separate staging repositories.
Maybe this will shed some light.
Pull Request resolved: https://github.com/facebook/flipper/pull/3100
Reviewed By: nikoant
Differential Revision: D32651863
Pulled By: passy
fbshipit-source-id: 30441b29ab6a4270dee1c958e19242f71265a174
Summary:
I've been investigating the now persistent upload issue for our artifacts and it appears to come down to artifacts being uploaded and downloaded as folder structures while they used to be individual files.
Annoyingly, the `ghr` tool we use for uploading throws a cryptic and misleading error: https://github.com/facebook/flipper/runs/4314584032?check_suite_focus=true
There is some more control in the `v2` version of the actions but for now, this seems like the safer option to fix this problem.
{F682461661}
Reviewed By: lblasa
Differential Revision: D32649218
fbshipit-source-id: 47ebefc434cb3b928b82a9fe8da3002b7b8465b6