Commit Graph

170 Commits

Author SHA1 Message Date
Pascal Hartig
aa83d2e620 Include leakcanary2 path
Summary:
Currently relying on PRs to bump this: https://github.com/facebook/flipper/pull/2085/files

Will need to rebuild binaries afterwards.

Reviewed By: mweststrate

Differential Revision: D27265679

fbshipit-source-id: 227a1350044573f37f477727e059be845e5369e0
2021-03-23 11:01:41 -07:00
Michel Weststrate
4a71a5abd1 Bump dependencies of ReactNativeFlipperExample
Summary: Make sure that ReactNativeFlipper example is bumped automatically, so that testing becomes easier

Reviewed By: priteshrnandgaonkar

Differential Revision: D26723361

fbshipit-source-id: 7c72d541f9f210f4932b325c9d83ffa686e22bda
2021-03-02 01:28:14 -08:00
Pascal Hartig
3cda93dade Cache Android builds on GitHub Actions (#1922)
Summary:
Builds up a file with checksums of all `build.gradle` files. Deliberately excludes the `gradle.properties` which changes all the time. The cache shouldn't require nuking except in some rare circumstances.

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

Test Plan: From 41 minutes down to 17: https://github.com/passy/flipper-1/actions/runs/561501374

Reviewed By: mweststrate

Differential Revision: D26427242

Pulled By: passy

fbshipit-source-id: ff1d7370d477c9d7b57c62082ec985108a5ba698
2021-02-16 04:18:28 -08:00
Pascal Hartig
87d7bcf274 Remove JCenter specifics (#1914)
Summary:
This removes Bintray/JCenter specific code and replaces it with a new plugin recommended by [Chris Banes](https://chris.banes.dev/publishing-to-maven-central/).

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

Test Plan:
Manually uploaded as snapshot and full release, but with this setup still requires all sorts of manual setup, including GPG. Next PR will include automation for this.

CI here should also verify that I didn't split this diff up incorrectly.

Reviewed By: jknoxville

Differential Revision: D26367350

Pulled By: passy

fbshipit-source-id: faa6b488d6c95bc643d2f9328362e29fb4b05ded
2021-02-10 07:16:32 -08:00
Pritesh Nandgaonkar
87e7afe4ab Update tutorial podfiles and GH actions (#1896)
Summary:
This PR updates the flipperkit version of the Tutorial and updates the GH action to test it without the arch flag.
This PR also fixes the script which updates the `flipperkit_version` tag in all the files. It was broken for Tutorial, as it used to replace the last released version of the pod with the current one in each file, but for some reason the flipper version in the Tutorial/Podfile was way older and it never got updated.

I have fixed the logic now to replace the current version in the file with the new one, rather than relying on only last version to be replaced.

## Changelog

- Updated the GH action of tutorial to remove the -arch flag
- Updated Tutorial/Podfile and Podfile.lock
- Updated scripts/update-pod-versions.sh

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

Test Plan:
CI should be green
Tested that the version gets updated for each and every file, file tested were Flipper.podspec, FlipperKit.podspec, Sample/Podfile SampleSwift/Podfile Tutorial/Podfile

{F369967362}

{F369967395}

Reviewed By: nikoant

Differential Revision: D26275657

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 0f21a2a33c740938d2b29624e95974e80a2e38ba
2021-02-05 04:51:11 -08:00
Pascal Hartig
12ca12094d Linux artifact
Summary: Update the binary for Linux. Took me *a freaking hour* to build. I need an M1 Mac.

Reviewed By: mweststrate

Differential Revision: D26197862

fbshipit-source-id: e5a593743d239598bab1c8f29a778a49e17afcf8
2021-02-02 09:19:56 -08:00
Pascal Hartig
fec1f803b8 Add lock file
Summary: Recent versions of stack added this. Probably a good idea to commit this.

Reviewed By: nikoant

Differential Revision: D26174669

fbshipit-source-id: eaad59f81aa5cdb6cdd456029f1f176b458cac28
2021-02-02 09:19:56 -08:00
Pascal Hartig
20b57e2ad9 Mac artifact
Summary: This is the new Mac artifact based on what's in the code. Still building the Linux one.,

Reviewed By: nikoant

Differential Revision: D26174670

fbshipit-source-id: a5364b45bcc8d6325a698633d0e1a076ef1080ad
2021-02-02 09:19:56 -08:00
Pascal Hartig
c73fdb090d Include react native path
Summary:
Note: Binary update will follow as separate diff.

Noticed that these weren't updated automatically.

Reviewed By: mweststrate

Differential Revision: D26150738

fbshipit-source-id: 05583a3d8c6425d41e985255e0281a90e5062dad
2021-02-02 09:19:55 -08:00
Anton Nikolaev
4b58d4438a Release test plan updated to match the new release process
Summary: Release test plan updated to match the new release process and include some details which might be required in case something failed.

Reviewed By: passy

Differential Revision: D25618132

fbshipit-source-id: c39ceebe4569475554866097970a2410a992b6ae
2020-12-18 08:53:13 -08:00
Michel Weststrate
08b5644253 Killed Flipper headless
Reviewed By: nikoant

Differential Revision: D24160480

fbshipit-source-id: 221e60473dddc0a49cea674e210beb6f85b1b03c
2020-12-15 01:46:44 -08:00
Anton Nikolaev
dbc888613b Do not bump every package version for every release
Summary:
This diff sets all package version to "0.0.0" except of the root package and changes the bump script to only bump version in the root package. This should reduce possibility of conflicts on release diffs. Anyway we always use the same version for all of our packages, so we can only set it to the root.

Before npm publishing we will set all package versions to the same number as in the root package (we actually already do that) so there will be no differences except we won't need to bump version in  more than 100 packages each release.

Reviewed By: mweststrate

Differential Revision: D25162373

fbshipit-source-id: 02fe401bee72845339c67925c130027bdaee559d
2020-12-02 02:38:47 -08:00
Pascal Hartig
b5e613141e Set up automated retry (#1714)
Summary:
Circle occasionally fails with a network error in one of the Android dependencies. This uses a simple retry to alleviate the need to manually restart the tasks.

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

Test Plan: Ran this on my private fork: https://app.circleci.com/pipelines/github/passy/flipper-1/9/workflows/e1b40086-1dce-49eb-a178-81052145ed0f

Reviewed By: nikoant

Differential Revision: D25170790

Pulled By: passy

fbshipit-source-id: 220759fb227855eac807d64f41c78f5781599515
2020-11-27 09:11:19 -08:00
Anton Nikolaev
d8b3ac3e54 Pass already bumped version to prepare-release.sh
Summary: The script now receives new version via command line.

Reviewed By: jknoxville

Differential Revision: D24771302

fbshipit-source-id: 243ad2cc8cb62af86eadb44fbf4bd7c71e97af6f
2020-11-09 11:24:23 -08:00
Pascal Hartig
c282184d9f Run generate-changelog with xplat node
Summary: This way we don't need to depend on Sandcastle configurations. amurawska pointed out that the header in `generate-changelog.js` indicates it must be run with Node 6, but trying to do so actually raises a Syntax error.

Reviewed By: mweststrate

Differential Revision: D23904875

fbshipit-source-id: 264f3b16d64ebfbae6afb0028715f67624166499
2020-09-25 03:54:04 -07:00
Pascal Hartig
45d1abf2d4 Attempt to upgrade release scripts
Summary:
We got a heads-up from the GitHub support that the way we use our
access tokens is deprecated and will soon stop working.

More details here: https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/

Reviewed By: jknoxville

Differential Revision: D23003718

fbshipit-source-id: e2a493be97cdc81161791a1bb07864853ca5049c
2020-08-11 11:16:31 -07:00
Pritesh Nandgaonkar
a4422a7687 Update pod version after release (#1338)
Summary:
This diff updates the Github workflow to update pod versions after the release is published on Cocoapods.
## Changelog

- Update Github workflow to update the pod versions till the release is published in Cocoapods.

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

Test Plan:
A PR got created with the updated pod versions after the release was pushed.
https://github.com/facebook/flipper/pull/1365

Reviewed By: passy

Differential Revision: D22456857

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 335996bc1ebb6da309d3f60a8f3401559e0a83c7
2020-07-10 02:20:14 -07:00
Pascal Hartig
d6701e2f96 Allow customisation of release version
Summary: Allows passing the version part to be bumped as part of the release process.

Reviewed By: nikoant

Differential Revision: D21722939

fbshipit-source-id: 94d3ddeb78722dae5dfbc5822f9e70873f565a81
2020-05-27 09:52:12 -07:00
Pascal Hartig
f1abd8a4a4 Update bump binaries
Summary: Update pre-compiled binaries in the repo by running `stack build` on Linux and MacOS.

Reviewed By: nikoant

Differential Revision: D21301515

fbshipit-source-id: f3b648c03a4ec7c680c88574caa3f4abbe5e0fe0
2020-04-29 06:34:58 -07:00
Pascal Hartig
c21a2645ed Fix doc path
Summary: This was broke the script from running.

Reviewed By: nikoant

Differential Revision: D21301581

fbshipit-source-id: 146c4bacb638171d8efe9ba1d25d75cac0b19a06
2020-04-29 06:34:58 -07:00
Anton Nikolaev
cdc851f281 Fix release version bumping in docs
Summary: Fix release version bumping in docs after switching from ".md" to ".mdx".

Reviewed By: mweststrate

Differential Revision: D21282492

fbshipit-source-id: 60ecfd9a058b71d1895945c9c3d05b9df8f6493c
2020-04-28 11:43:58 -07:00
Pascal Hartig
1a794c57dd Update bump binaries
Summary: Ran `stack build`. Currently source and binaries are out of sync.

Reviewed By: jknoxville

Differential Revision: D20895907

fbshipit-source-id: df9a00633a7cb7515927390b49028376e757ccab
2020-04-07 12:21:36 -07:00
Anton Nikolaev
0a79118ee7 Fix bumping podspecs in "Getting Started" docs in prepare-release.sh
Summary: Fixed bumping podspecs in "Getting Started" docs in prepare-release.sh

Reviewed By: mweststrate

Differential Revision: D20869684

fbshipit-source-id: 78a3b7064de51dbd8ca505db863595726d038326
2020-04-06 11:10:56 -07:00
Pascal Hartig
2823307c62 Add RN Android/iOS docs
Summary:
I trimmed the previous versions of this down a lot to only
focus on what RN developers need to know without duplicating
what we have in the non-RN docs.

Reviewed By: mweststrate

Differential Revision: D20816115

fbshipit-source-id: 9d88a6fb0d49e823194cce647e64b86d61d6229a
2020-04-06 08:27:20 -07:00
Pascal Hartig
0a68044649 Split up getting started docs
Summary:
This is a first step in breaking up the getting started docs.
Ultimately, the React Native Android and iOS bits will become
separate sections, too, but I won't to keep the diffs a bit smaller.
This one doesn't really do much apart from reorganising the current
content.

Reviewed By: mweststrate

Differential Revision: D20815235

fbshipit-source-id: 5c85b788211699a2a9f5808b9e2590c7db68a1c1
2020-04-03 06:17:49 -07:00
Anton Nikolaev
3bdfea387b Install yarn modules required for prepare-release script
Summary: Install yarn modules required for release script

Reviewed By: mweststrate

Differential Revision: D20773606

fbshipit-source-id: 97ceda05e2d75229335bb77c7cef6dd328167283
2020-03-31 13:38:54 -07:00
Anton Nikolaev
2a27b47752 Fixed version bumping
Summary: Fixed version bumping in prepare-release script

Reviewed By: priteshrnandgaonkar

Differential Revision: D20771162

fbshipit-source-id: 8b8efa7111269e3f2b39b09c3dff1afe1fd0cf41
2020-03-31 11:20:27 -07:00
Anton Nikolaev
bf32297ad9 Publish all packages to npm on release
Summary: Publish all the public packages (excluding those with "private=true") included as workspaces to "desktop" project.

Reviewed By: jknoxville

Differential Revision: D20765097

fbshipit-source-id: 444541e9a682a90eba02cb3da85ada9bd00d93d0
2020-03-31 06:34:39 -07:00
Anton Nikolaev
eb9a2cb5e7 Bump versions for all npm packages on release
Summary:
Automatically bump versions for all local npm packages included as workspaces and fix local dependencies correspondingly.

As a part of this I have also aligned versioning for all the packages by using the same version for all of them.

Reviewed By: jknoxville

Differential Revision: D20745632

fbshipit-source-id: 2d438c4b23ee72f7d7c068c5ce161063c7ceb9e5
2020-03-31 06:34:39 -07:00
Anton Nikolaev
5ed3e8b1eb Set attributes to Flipper release builds
Summary: Changelog: fixed applying of product attributes (title, publisher etc) to Flipper builds.

Reviewed By: passy

Differential Revision: D20724437

fbshipit-source-id: 70e31484ddd59f1802573e2f963ee37857ab8405
2020-03-30 01:58:30 -07:00
John Knox
6298fd6288 Add "ls" to android debugging script
Summary: Makes it easier to debug.

Reviewed By: mweststrate

Differential Revision: D20645818

fbshipit-source-id: db7cb15487508b5d103db482ecf84adfebc09f48
2020-03-25 12:50:29 -07:00
Anton Nikolaev
e091c21fba Fix prepare-release.sh script
Summary: Fixed paths after moving js code to "desktop" subfolder

Reviewed By: jknoxville, mweststrate

Differential Revision: D20469775

fbshipit-source-id: 4df963550012905dff4c1ddf6e8b6cd2693b8fbe
2020-03-16 09:59:51 -07:00
Anton Nikolaev
85c13bb1f3 Move desktop-related code to "desktop" subfolder (#872)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/872
Move all the JS code related to desktop app to "desktop" subfolder.

The structure of "desktop" folder:
- `src` - JS code of Flipper desktop app executing in Electron Renderer (Chrome) process. This folder also contains all the Flipper plugins in subfolder "src/plugins".
- `static` - JS code of Flipper desktop app bootstrapping executing in Electron Main (Node.js) process
- `pkg` - Flipper packaging lib and CLI tool
- `doctor` - Flipper diagnostics lib and CLI tool
- `scripts` - Build scripts for Flipper desktop app
- `headless` - Headless version of Flipper app
- `headless-tests` - Integration tests running agains Flipper headless version

Reviewed By: passy

Differential Revision: D20249304

fbshipit-source-id: 9a51c63b51b92b758a02fc8ebf7d3d116770efe9
2020-03-14 14:35:17 -07:00
Michel Weststrate
1d04fc3e34 extract utility for determing static path [2/n]
Summary: Make the logic to find the static file path reusable

Reviewed By: passy

Differential Revision: D20219731

fbshipit-source-id: a4f1fa021ea958681a078cb103621322bbfc1e48
2020-03-13 04:40:36 -07:00
Michel Weststrate
724fb79fe7 Don't submit release automatically when running on SC
Summary:
Our SC release job failed when submitting directly from the prepare-release script, as the jf context wasn't properly setup. So instead we reuse the code we already have for that in SandcastleFlipperAutoReleaseCommand.

However, for manual releases we still do submit automatically and in name of the current user.

Reviewed By: passy

Differential Revision: D20384247

fbshipit-source-id: ed5eca180f009611f2890f8cb665bf203789d189
2020-03-11 04:50:45 -07:00
Michel Weststrate
4ada403841 generate-changelog.js should be Node 6 compatible
Summary:
Node on SandCastle is ancient, this change makes sure we can use the node version of `www`.

Node 6 can't parse dangling comma's in argument lists, which is what prettier automatically inserts by fbsource standards

Reviewed By: passy

Differential Revision: D20366026

fbshipit-source-id: 1b2a0c1506e8671fa268fab7a8d3bfcd5064bb0b
2020-03-10 10:41:24 -07:00
Anton Nikolaev
82881b7463 Yarn start Failed with "Error: Unable to resolve module react-redux" (#883)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/883

https://github.com/facebook/flipper/issues/835

Reviewed By: passy

Differential Revision: D20363818

fbshipit-source-id: 66b7cb7236c7b066db32473a9e993ba2ace529bc
2020-03-10 09:18:44 -07:00
Michel Weststrate
9dc187cc25 Make sure prepare-release scripts works when running from another dir
Summary: Yesterday's script failed if prepare-release was invoked from another dir

Reviewed By: jknoxville

Differential Revision: D20362093

fbshipit-source-id: a0ce877a2f145f320cf346dc86e3d2568279b8b9
2020-03-10 07:10:29 -07:00
Michel Weststrate
8f2dd977b7 unify internal and external release into one flow
Summary:
This diff makes updating the internal and external release part of the same flow. The will be changed to:

1. The chronos job is kicked to start a new release
2. That job kicks of `./prepare-release.sh` (see D20304039) which
   1. bumps the version of all packages
   2. generates the changelog
   3. generates a release diff + test instructions for that
   4. generates a diff with snapshot version updates
   5. submit those commits
3. when this is job is completed, the relevant release commits can be checked out and tested.
4. If these job is landed, this will kick off the OSS builds through `release.sh` (as-is). But, this will also generate a diff that updates the flipper pin to the verify same commit (new).

Next steps:
* [ ] update wiki

Code pointers (irrelevant for review):
- Chronos Job entry https://our.intern.facebook.com/intern/diffusion/WWW/browse/master/flib/intern/sandcastle/commands/SandcastleFlipperAutoReleaseCommand.php?lines=85
- Sonar build step: https://our.intern.facebook.com/intern/diffusion/WWW/browse/master/flib/intern/sandcastle/sonar/SandcastleSonarBuildStep.php?lines=84
- Release commit observer: https://our.intern.facebook.com/intern/diffusion/WWW/browse/master/flib/intern/entity/opensource/github/observers/EntOpensourceGitHubCommitBuilderObserver.php?lines=17-48

Reviewed By: passy

Differential Revision: D20283664

fbshipit-source-id: 129ea862bda4721d707f1b6fdd862a937c0ed6d5
2020-03-10 02:48:14 -07:00
Michel Weststrate
3165a5b504 Make changelog part of external rather than internal release
Summary: This makes the changelog generating part of the bump-version process, rather than the build-release

Reviewed By: passy

Differential Revision: D20284211

fbshipit-source-id: f4a5c9bdb98c91f11a216957c9d5175c4b64fe70
2020-03-10 02:48:14 -07:00
Michel Weststrate
52b907fa25 Ignore watchmanconfig in fbsource (#868)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/868

As discussed in D20252170

Reviewed By: passy

Differential Revision: D20278783

fbshipit-source-id: c965520a0ad44bf1838224003017177c149025e9
2020-03-05 08:10:16 -08:00
Pascal Hartig
976efc24e8 Fix prettier issue (#866)
Summary:
I think I broke this. Soz.
Pull Request resolved: https://github.com/facebook/flipper/pull/866

Reviewed By: nikoant

Differential Revision: D20279605

Pulled By: passy

fbshipit-source-id: 4e2ed3b1230adae67f3f3a90020b8539ba00086a
2020-03-05 05:41:29 -08:00
Pascal Hartig
1351496c2c Re-enable release editing on windows
Summary:
There's a lot going on here:

- I'm moving over to android build hosts. They're are faster and more plentiful. They seem to work just fine for what we do. We already have a tenant capacity for them. *Edit:* Even more importantly, we need `adb` for certain tasks. The Android SDK isn't installed on Lego.
- I'm splitting our `sandcastle_setup` up into a pure yarn setup and an electron setup. The latter downloads from LFS and installs Wine (on Linux) which takes some time. This isn't needed unless we actually run Electron. That's for builds and Electron tests only.
- There were so, so many weird little edge cases. One of them is that `electron-builder`'s `app-builder` (a go app) switches between an x86 and an x86_64 version of wine to use for signing Windows apps, but only on Mac. On Linux it's hard-coded to 32bits. So we need to manually override the binary in the cache. I do this in the script rather in the cache because this is impossible to remember when upgrading.
- Wine is only bundled for Mac. On Linux you have to get it somewhere else. Luckily, we run as root, so we can do that.
- `$HOME` is set to `/var/twscsvc` which isn't owned by `root` but by `twscsvc`. Wine no happy. So we have to manually set this to a path that `root` owns. Hence the `export HOME`.

Reviewed By: nikoant

Differential Revision: D20223753

fbshipit-source-id: 0b2b09d19409ce172f395a7d1f85ec601654c6f6
2020-03-04 11:06:15 -08:00
Pascal Hartig
254cf696d6 Run build job on Linux
Summary:
This works now with the Electron update. Wine doesn't work there so the app signing step needs to be disabled. I'm not entirely sure if this has other consequences than disabling signing - which we don't use.

We also can't build `.dmg`s on Linux because it relies on a CLI tool that only exists on Macs. But we can quite easily move this to GitHub Actions, which I set up with https://github.com/facebook/flipper/pull/852

Reviewed By: nikoant

Differential Revision: D20160545

fbshipit-source-id: a888c8b0e8f7dbe8bec818d57f5f22bcf800322c
2020-03-04 11:06:14 -08:00
Lucas Bento
be360157f6 Add DMG target to mac distribution (#833)
Summary:
Fixes https://github.com/facebook/flipper/issues/807 by adding a DMG target to distribute the application for mac.

The `.dmg` file is `97.2 MB` while the `.zip` is `101.5 MB`. 😄

![image](https://user-images.githubusercontent.com/6207220/75275890-7c32b480-5805-11ea-9d05-9a4f47d03562.png)

## Changelog

Add DMG target for mac distribution
Pull Request resolved: https://github.com/facebook/flipper/pull/833

Test Plan:
1. `yarn build --mac`;
1. Check `flipper-mac.dmg` inside of `dist`.

 ---

**The background is completely discussable, I borrowed it [from an old project](https://github.com/lucasbento/react-native-actions/tree/feature/electron/packages/electron-react-native-actions) of mine and it's [totally not inspired by WebStorm `.dmg` file](https://user-images.githubusercontent.com/6207220/75276024-b3a16100-5805-11ea-8c69-063fe28316c1.png).**

Reviewed By: nikoant

Differential Revision: D20139188

Pulled By: passy

fbshipit-source-id: 1aaaabd7c6ac51d12865388bf962d164f80a7a14
2020-02-27 09:40:31 -08:00
Anton Nikolaev
ab0078a13f Typescriptify the main process code (14/N)
Summary: Converted scripts/yarn-install.js to typescript

Reviewed By: passy

Differential Revision: D20098071

fbshipit-source-id: be56a95a11089cd857efb00e62866213a88b739c
2020-02-27 05:45:24 -08:00
Anton Nikolaev
2bd61bca87 Typescriptify the main process code (13/N)
Summary: Converted src/utils/icons.js to typescript

Reviewed By: passy

Differential Revision: D20076060

fbshipit-source-id: fa6309033f5de7183de7f85ac8318eec36b6bb69
2020-02-27 05:45:24 -08:00
Anton Nikolaev
8d66c3aba7 Typescriptify the main process code (12/N)
Summary: Converted static/watchman.js to typescript

Reviewed By: passy

Differential Revision: D20071220

fbshipit-source-id: 7d86ffa8dd728246eeac8a01e2573564e8fd6bbe
2020-02-27 05:45:24 -08:00
Anton Nikolaev
aff433c8ad Typescriptify the main process code (11/N)
Summary: Converted static/compilePlugins.js to typescript

Reviewed By: passy

Differential Revision: D20070227

fbshipit-source-id: ba360b944440babedef94af0d0bc577711165ff6
2020-02-27 05:45:23 -08:00
Anton Nikolaev
2d551f6b4a Typecscriptify the main process code (10/N)
Summary: Converted scripts/build-utils.js to typescript

Reviewed By: passy

Differential Revision: D20067220

fbshipit-source-id: 29c1a4aed11b9d682290daf57db5507736ad8c69
2020-02-27 05:45:23 -08:00