Commit Graph

18 Commits

Author SHA1 Message Date
Andrey Goncharov
af4ecc0a94 Fix Android publishing
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
2022-10-14 03:56:14 -07:00
Lorenzo Blasa
9706f2892d Publishing workflow update
Summary:
These changes seem required as per the publishing plugin release notes.

Reference:
https://github.com/vanniktech/gradle-maven-publish-plugin/blob/master/CHANGELOG.md#version-0220-2022-09-09

Reviewed By: aigoncharov

Differential Revision: D40101370

fbshipit-source-id: fdc862de003b72f326c8a9f1b350b7573ba92e29
2022-10-05 08:47:29 -07:00
Pascal Hartig
8ccae8a7ac Upgrade Android build infra (#3095)
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
2021-11-25 12:21:59 -08:00
Pascal Hartig
c9daf81098 Undo upload fix
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
2021-11-25 10:36:53 -08:00
Pascal Hartig
9f7085788c Increase publish verbosity (#3100)
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
2021-11-25 10:33:29 -08:00
Pascal Hartig
93bc23e9cd Potential fix for artefact upload issue
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
2021-11-24 09:52:46 -08:00
Pascal Hartig
d9848ab6cf Upgrade upload action
Summary:
Fixed an issue with the setup of the retry script:

31ee58a796

Reviewed By: nikoant

Differential Revision: D32644463

fbshipit-source-id: 23ac1508784f24e9403e0bca0091f05847a9e91d
2021-11-24 06:31:15 -08:00
Pascal Hartig
1b54a079f5 Upgrade upload actions (#3070)
Summary:
We're seeing some spurious failures, unrelated to any changes on our end.

I've upgraded the action to do two things:

- Retry on failure (up to three times): b0dfcdf1c7
- Replace the artefact if it's already present (otherwise this might fail subsequent retries): 92bec0ba48

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

Reviewed By: nikoant

Differential Revision: D32532277

Pulled By: passy

fbshipit-source-id: f1899c89c405772490958674fa7f46f479c666f9
2021-11-18 08:50:26 -08:00
Pascal Hartig
4736abc29c Upgrade publish action
Summary: I upgraded the docker image which should pull the latest GHR release (https://github.com/tcnksm/ghr).

Reviewed By: lblasa

Differential Revision: D31442256

fbshipit-source-id: 0f9fa81ec1be1285aea3da621b7ef5a1e63c3e84
2021-10-08 03:40:49 -07:00
Pascal Hartig
1ec7ebbdb5 Create issue on publish failure (#2904)
Summary:
Because the publish runs aren't triggered on the main branch, we have limited visibility. Sending push notifications, webhooks or email integrations are hard, but opening an issue seems like a decent work-around for this.

We can broaden this to more publish actions as needed.

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

Test Plan: Ran on my fork which generated this issue: https://github.com/passy/flipper/issues/9

Reviewed By: mweststrate

Differential Revision: D31146956

Pulled By: passy

fbshipit-source-id: 08f66bd4c96a5ea2cc5e70a7461c30e7e1f3d42e
2021-09-27 06:10:08 -07:00
Pascal Hartig
da9511a5bf Fix CI build for Android (#2836)
Summary:
I've been really sweating about this one. It looks like Google now removed NDK 21 as it's too old. However, we've been struggling with the upgrade because OpenSSL was built against an old version of the NDK/glibc/LLVM/some other stuff.

I've now managed to create an OpenSSL distribution for 1.1.1k (we had 1.1.0h before) that seems to build with this after some small modifications.

This seems to do the trick, but I wouldn't be shocked if we found some more incompatibilities further down the line.

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

Test Plan:
- Locally: `./gradlew :tutorial:installDebug`. Builds, starts up. Cool.
- Public GitHub CI: Happy.
- Circle CI: Only triggers post-land. We'll see. But the setup is simple, so hopefully it should work there, too.
- Internal CI: Waiting for signal.

Reviewed By: fabiomassimo

Differential Revision: D30839209

Pulled By: passy

fbshipit-source-id: efe599f28cc0edfdf2149f905c3483555239edc0
2021-09-09 08:46:59 -07:00
Pascal Hartig
4f3ee3ea57 Bump gradle-maven-publish-plugin from 0.16.0 to 0.17.0
Summary:
From the changelog:

> Removed the deprecated uploadArchives and installArchives tasks. Use publish and publishToMavenLocal instead.

Made the necessary changes to docs and scripts.

Reviewed By: nikoant

Differential Revision: D29752895

fbshipit-source-id: 6e96c7ea9b26be2acb40b9089cb361837ab10a1b
2021-07-29 09:35:04 -07:00
Pascal Hartig
ab93c24dd6 Fix publishing pipeline (hopefully) (#2311)
Summary:
https://github.com/facebook/flipper/runs/2574198766?check_suite_focus=true
shows that the env vars aren't getting picked up. There's some sort
of transformation syntax (https://docs.gradle.org/current/userguide/build_environment.html#sec:project_properties)
which I thought this would follow but didn't.

I'm merging this now with the already existing gradle.properties update
we do. I also tested locally that this approach works.

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

Test Plan:
Updated my local gradle.properties accordingly and re-uploaded the 0.90
release.

Reviewed By: nikoant

Differential Revision: D28440724

Pulled By: passy

fbshipit-source-id: 9f7238b61fe309eea087b5d6a063788e9ea76e85
2021-05-14 06:57:13 -07:00
Pascal Hartig
4a636c8e7b Update android publish task
Summary: A recent plugin upgrade removed the previous ones.

Reviewed By: cekkaewnumchai

Differential Revision: D28285219

fbshipit-source-id: e8dcb004ede225283d805b13011709c9d5f3bdae
2021-05-07 04:21:52 -07: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
761f1354db Clean up secrets (#1921)
Summary:
See this being done elsewhere. I don't think it's necessary but why not?

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

Test Plan: eyes

Reviewed By: jknoxville

Differential Revision: D26427191

Pulled By: passy

fbshipit-source-id: 80823bf50d6416d29d54c82cef433650c1451ac0
2021-02-15 10:31:03 -08:00
Pascal Hartig
7fd0c7d82e Fix upload of sample app apk (#1920)
Summary:
This was an expected failure, you can see here how the last step of the "Publish Android" workflow currently fails: https://github.com/facebook/flipper/runs/1873750507?check_suite_focus=true

This is because it no longer runs in a tagging context. We're now providing the tag as an input and my custom action knows how to attach to existing tags by name.

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

Test Plan:
Test run here finished successfully: https://github.com/passy/flipper-1/actions/runs/560774414
Publish Android job: https://github.com/passy/flipper-1/actions/runs/560775419
Attached release: https://github.com/passy/flipper-1/releases/tag/v0.0.7
Artifacts on Central: https://repo.maven.apache.org/maven2/com/facebook/flipper/flipper/0.0.7/

{F372552533}

{F372552532}

Reviewed By: mweststrate

Differential Revision: D26402629

Pulled By: passy

fbshipit-source-id: 7290e6bb8d1078ee20a0cf10105dc37f1e7aa99a
2021-02-12 04:36:11 -08:00
Pascal Hartig
0085a0d140 Set up release automation (#1915)
Summary:
Depends on https://github.com/facebook/flipper/issues/1914.
This sets up the workflows for automatically building, publishing and "closing" the repository on Maven Central, which is a step you usually need to do manually in the web UI.

Still need to transfer all the secrets over to this repo for it to work.

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

Test Plan:
Ran all of this in my this in my fork and released some `0.0.x` versions.

- Successful workflow: https://github.com/passy/flipper-1/actions/runs/552170713
- It's actually all on Maven: https://repo.maven.apache.org/maven2/com/facebook/flipper/

Reviewed By: jknoxville

Differential Revision: D26367469

Pulled By: passy

fbshipit-source-id: d65f64ee8eec1dc71af64b7e0f87473b9c956fec
2021-02-10 07:16:32 -08:00