Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Create a new GitHub Action: when a new release is published -> send to it stores #4518

Open
g123k opened this issue Aug 13, 2023 · 4 comments
Assignees

Comments

@g123k
Copy link
Collaborator

g123k commented Aug 13, 2023

Hi everyone,

This issue is not for F-Droid, as it already starts itself by relying on Releases.

Instead, the goal here would be that when a new Release is created, automatically:

  • Build an iOS version and send it to the App Store
  • Build an Android version and send it to Google Play and the Amazon Store
@M123-dev
Copy link
Member

I don't know what the goal of this is, but a release for android and ios is triggered by release please when it creates a release, the call found in here

https://github.com/openfoodfacts/smooth-app/blob/develop/.github/workflows/release-please.yml

@g123k
Copy link
Collaborator Author

g123k commented Aug 13, 2023

I don't know what the goal of this is, but a release for android and ios is triggered by release please when it creates a release, the call found in here

develop/.github/workflows/release-please.yml

The goal is a bit different here, as we don't want to release on internal on the Google Play, but at least on alpha/beta.

And we want to support the Amazon App Store and in the future more stores, which is not relevant for the current "internal release)

@M123-dev
Copy link
Member

I don't exactly know what your goal is, but here is the current setup (Should probably create a structogram)

We have:

android-release-to-org-openfoodfacts-scanner and ios-release-to-org-openfoodfacts-scanner (the long names due to historic reasons) they are workflow calls, meaning they can be called similar to a function and we can pass parameters.

(Before deactivating we called both from internal-release on push to master, releasing to internal)

Now iOS is called only by release please. Android is called 3 times concurrently when merging the release-please PR:

  • ML-Kit ARB Play store
  • ML-Kit APK GitHub release assets
  • ZXing APK GitHub release assets

Currently, the release track internal is hard-coded in the Fast lane files (here) but it should be possible to make this a parameter as well or just change the hard-coded value. We had it set to internal intentionally so that there is always the human factor (Pierre) to do the final step: promoting in the play console.

Adding a different store can be done two ways:

Duplicating the android-release-to-org-openfoodfacts-scanner.yml and changing the logic to upload to Amazon instead of the play store (many duplicated lines)

Or my recommendation to edit the current android-release-to-org-openfoodfacts-scanner.yml to accept a different store parameter, would be just adding a new step upload-to-amazon with an conditional

@teolemon
Copy link
Member

Draft of what I would like :

  • check the release train for ios matches the build about to be made, and open a new one if necessary in line with the version.txt, and prevent release if that's the case
  • changelog upload for ios (and prevent release if no changelog is provided)
  • Update the version number on Android automatically in line with version.txt

@teolemon teolemon removed the ✨ enhancement New feature or request label Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 💬 To discuss and validate
Development

No branches or pull requests

3 participants