Commit Graph

176 Commits

Author SHA1 Message Date
Michel Weststrate
98c3913b62 Back out "Bump dependencies of ReactNativeFlipperExample"
Summary:
Original commit changeset: 7c72d541f9f2 / D26723361 (4a71a5abd1)

Pods are not released yet(?) and nor are our npm packages when our CI runs for the first time after pushing a release to GH, which would make the job always fail. Backing out of the process for now.

For the npm package, dependabot will automatically take care of it. The gradle properties / podfile will remain manually bumps for now.

Reviewed By: nikoant

Differential Revision: D27764997

fbshipit-source-id: db505c2d0882f74b2f5d4e0454463a5e08501a90
2021-04-14 08:19:25 -07:00
Michel Weststrate
39ae6bf6b0 Back out "Fix RN GH example jobs failing after release bump"
Summary:
As discussed, the npm packages haven't been released yet during this step of the process, so we can't update the `yarn.lock` yet.

Bumping itself is reverted in the next diff.

Original commit changeset: 84fa2d35b5f4 / D27591155 (ebcb535fd3)

Reviewed By: nikoant

Differential Revision: D27764974

fbshipit-source-id: 36d4e5b329e8d045f2d789e883c54a47eddf524a
2021-04-14 08:19:25 -07:00
Michel Weststrate
ebcb535fd3 Fix RN GH example jobs failing after release bump
Summary: After running a flipper release, public builds start to failing as the yarn.lock file of ReactNativeFlipperExample is out of sync with the package.json. This diff fixes that

Reviewed By: passy

Differential Revision: D27591155

fbshipit-source-id: 84fa2d35b5f41ba9a28cfecabbaf6a2a082791db
2021-04-07 03:08:37 -07:00
Pascal Hartig
21cfa6921b Rebuild bump.lnx as static binary
Summary:
The dynamic verison ran on my devserver so I thought it was fine
but turns out our Lego host doesn't have the glibc version it linked
against: https://www.internalfb.com/intern/chronos/job?jobid=27021599014479361&smc=chronos_gp_admin_client

Reviewed By: fabiomassimo

Differential Revision: D27290193

fbshipit-source-id: 94f8048d6aa42d00401b433a622fe6af29126fd3
2021-03-24 04:46:14 -07:00
Pascal Hartig
94e85b54c8 Update Linux binary
Summary: Per title.

Reviewed By: mweststrate

Differential Revision: D27266704

fbshipit-source-id: cc34c6d12b6db29650b7f45ed1594c0794d75e56
2021-03-23 13:07:48 -07:00
Pascal Hartig
9e30c60750 Update Mac binary
Summary: Per title.

Reviewed By: mweststrate

Differential Revision: D27266705

fbshipit-source-id: 3d279fe9fd6b9daae5126cbb1179ec8d97ef5e3f
2021-03-23 13:07:48 -07:00
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