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

Release Capability #1370

Open
lordfolken opened this issue Mar 6, 2024 · 22 comments
Open

Release Capability #1370

lordfolken opened this issue Mar 6, 2024 · 22 comments

Comments

@lordfolken
Copy link
Contributor

The project isn't in the position to make a release and push it to end users right now.

Current Situation:

On F-droid there is a release of xcsoar, but its basically a 3rd party compilation, that seems to be triggered by releases on github. However currently its stuck on V7.41

Then there is download.xcsoar.org/releases for all current releases. (Kobo,Linux,Android etc)

There is a play store release by Max tied to his personal account.

At this moment the steps to create a release aren't defined or documented.

@zinuzoid
Copy link
Member

zinuzoid commented Mar 7, 2024

Regards Play store, I manage my fork (XCSoar JET) in Play store so let me know if I can help.

First step is probably to create a company publisher account (XCSoar) then we can transfer the app from personal account to the new one.

@lordfolken
Copy link
Contributor Author

@zinuzoid your help would be very welcome.

I tried applying for an org account on the google play store. This would need a D-U-N-S number. This number seems to be available only to legal entities.

@zinuzoid
Copy link
Member

@lordfolken I can try to create the org account. I just want a confirmation that we're committed on this route before I proceed and pay the account fee? (otherwise I would pay for nothing)

This route means: we'll use the new play store developer account going forward by either

  • Migrate the current app from personal account to the new org account
  • Or start from scratch (probably lose all stats)

@lordfolken
Copy link
Contributor Author

lordfolken commented Mar 12, 2024

@lordfolken I can try to create the org account. I just want a confirmation that we're committed on this route before I proceed and pay the account fee? (otherwise I would pay for nothing)

I would have preferred so, but in lack of a DUNS number this doesn't seem possible. Do you have access to one?

This route means: we'll use the new play store developer account going forward by either

* Migrate the current app from personal account to the new org account

Max has left the project and removed his play store entry for xcsoar. So this might already not possible.
I don't have the signing keys for his release, so I'm afraid that its going to be option 2:

* Or start from scratch (probably lose all stats)

@zinuzoid
Copy link
Member

I've got DUNS number and paid the fee, but now they needed a hard document for verification. One of any

  • Certificate of incorporation
  • VAT registration certificate
  • Certificate of registration of charity
    🤔

Another less bad option is I can turn this account (newly created) back to individual and we share the credential, not the best but still an option.

@lordfolken
Copy link
Contributor Author

I think the shared credential would be the way to go. I would add this as a github secret, and we can then use it in a pipeline that hopefully pushes to firebase/play store.

@zinuzoid
Copy link
Member

I have another high-level question.

Since we're gonna start publish app from scratch again and likely need to change Android package name (anyway?)
Have we thought about official fork and new a new repo and project name like (XCSoar gen2, XCSoar N, ...)

This might need a separate issue to start more conversation.

Anyway I'm contacting the support to converting the account back to an individual one, should be available in a few days.

@lordfolken
Copy link
Contributor Author

Since we're gonna start publish app from scratch again and likely need to change Android package name (anyway?) Have we thought about official fork and new a new repo and project name like (XCSoar gen2, XCSoar N, ...)

I was hoping for continuation.

The app package id has to be unique in google play. Even if its no longer published, if there have been any installs, you cannot recycle the app package id, with a new signing key.

According to play store, you can transfer an app between accounts:
https://support.google.com/googleplay/android-developer/answer/6230247?sjid=7457013487326523018-EU
So in theory it could be transferred even if unpublished at this time.
MaxKellermann would have to do this, and for this we need an account first.

This might need a separate issue to start more conversation.

If he doesn't agree or doesn't react once we make that request to him, we will have to think about a new name and a fork.

Anyway I'm contacting the support to converting the account back to an individual one, should be available in a few days.

@lordfolken
Copy link
Contributor Author

https://github.com/marketplace/actions/upload-android-release-to-play-store this would be the github action that i'd use.

@OBrown92
Copy link

We use fastlane for app releases. Fastlane also has a github action, might be worth a look. Storing the keys on Github is a good idea at first, but they are not so easy to see afterwards, so maybe a shared password safe would be an idea.

@lordfolken
Copy link
Contributor Author

Fine with me also. Do you have an example repo somewhere?

@OBrown92
Copy link

Not really, it's all closed source and I not tried the github action so far 😆 I just want to mention it, because it has a good community behind it.

@zinuzoid
Copy link
Member

I've got the individual account. Let me know where to put the credential and any other keys.

@lordfolken
Copy link
Contributor Author

Great.
So i'm reading through fastlane docs https://docs.fastlane.tools/getting-started/android/setup/

Basically the setup process would require a service account. This is described in the above link.
This we would add to the github secrets. (I sent you an invitation to the ORG)

@lordfolken
Copy link
Contributor Author

maybe send the credential to me aswell folken@kabelsalat.ch

@lordfolken lordfolken added this to the v7.43 milestone Mar 15, 2024
@zinuzoid
Copy link
Member

zinuzoid commented Mar 16, 2024

I've invited your email to the account as admin and the shared a new account credential.
Also the instruction to transfer the app from other account.

@lordfolken
Copy link
Contributor Author

So unfortunatly i didnt get a reaction from @MaxKellermann concerning the app in the playstore.
So we need to rename the package ID, and publish with it. This will also break the fdroid release.

@lordfolken
Copy link
Contributor Author

I also saw that we can no longer upload apk in the playstore, so an application bundle is needed now.

@zinuzoid
Copy link
Member

So we need to rename the package ID, and publish with it. This will also break the fdroid release.

Ok, should we first make decision if we want an official fork or stay in this repo?

I also saw that we can no longer upload apk in the playstore, so an application bundle is needed now.

What do you mean by that? (I just upload my fork a few days ago)

@lordfolken
Copy link
Contributor Author

So we need to rename the package ID, and publish with it. This will also break the fdroid release.

Ok, should we first make decision if we want an official fork or stay in this repo?

I'm one of two owners of this repo/org.
We don't really need to fork. Basically we cloud rename XCSoar to XCSoarNG XCSoar2 or so, and that would be it.

Users will have to reinstall and we can't provide updates to existing users regardless of what we do now.

A new package id will ensure that there is a unique target and no conflicts.

I also saw that we can no longer upload apk in the playstore, so an application bundle is needed now.

What do you mean by that? (I just upload my fork a few days ago)

According to play console help: https://support.google.com/googleplay/android-developer/answer/9859348?visit_id=638464818898434802-1241153029&rd=1
"With a release, you can manage your app's Android App Bundle (or APK for apps created before August 2021) and then roll out your app to a specific track."
Applications newer than 2021 need to provide a app bundle and not an apk.

@lordfolken
Copy link
Contributor Author

@zinuzoid do you have some guidance as to how you upload an apk? because i'm not able to do so. Is your XCSoar fork from that time 2021?

@zinuzoid
Copy link
Member

We don't really need to fork. Basically we cloud rename XCSoar to XCSoarNG XCSoar2 or so, and that would be it.

Ok that's clear. I respect that.

@zinuzoid do you have some guidance as to how you upload an apk? because i'm not able to do so. Is your XCSoar fork from that time 2021?

Yeah, unfortunately my fork was created pre 2021 so I still can do normal .apk file. I simply make ANDROIDFAT apk target locally and upload it via browser.

And because we don't use Gradle, that make lot of things not work out of the box :-/
We'll now need to make the build pipeline output the .aab file instead. (As a benefit .aab file can generate many .apk variants that dedicated to each device instead of what we have "ANDROIDFAT" target which included all possible device variants)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants