Automattic / stories-android

Loop concept app - WP Stories library
GNU General Public License v2.0
20 stars 6 forks source link

Publish to s3 #713

Closed oguzkocer closed 3 years ago

oguzkocer commented 3 years ago

This PR adds support for publishing stories, mp4compose & photoeditor artifacts to s3 using our publish-to-s3 Gradle plugin. It also adds support for plugin DSL which is something we are adding across all our projects.

The PR follows the same approach as the FluxC PR that added publish-to-s3 support. If you're unfamiliar with that PR, it's definitely worth having a look over the description to understand some of the decisions.

The publishing tasks are handled in Buildkite and depend on each other. mp4compose will be the first one to be published, because it has no dependencies. Then, photoeditor will be published which depends on mp4compose and then stories will be published which depends on both mp4compose & photoeditor. We use a conditional dependency for these projects so that during publishing we can replace the project dependency block with the binary dependency of the project that was published. This helps verify that the previous artifact was published correctly and the dependency graph has a binary dependency instead of a project block. (which wouldn't work when it's added to a client) More details about this in the FluxC PR as previously mentioned.

Plugin DSL changes were straightforward, so there isn't much to explain there.

To test

Note that I am leaving this PR as a draft because https://github.com/wordpress-mobile/WordPress-Android/pull/15301 needs to be ready to merge before we can merge this in. I'd also like to get this PR reviewed by the library maintainers as well, just in case there was anything that was missed.

peril-automattic[bot] commented 3 years ago

You can test the changes on this Pull Request by downloading the APK here.

oguzkocer commented 3 years ago

@mzorz @cameronvoell Do you mind having a quick look at the changes in this PR before we merge it in? I don't think the changes have impact on the library since they are all tooling oriented, but I wanted to make sure.

I am not sure who is working on stories-android these days (maybe there isn't any active development right now?), so if there is anyone who should review this, please feel free to ping them as well. I think @aforcier is AFK this week, that's why I didn't request a review from him.

Note that there will be an announcement post with details, so if you're not familiar with how the new setup will work, please don't worry. I think almost all Android developers are now familiar with the new system since it's now used in gb-mobile, FluxC, login & utils libraries, but 🤷

oguzkocer commented 3 years ago

Thank you for the reviews @mzorz 🙇