-
Notifications
You must be signed in to change notification settings - Fork 22
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
Build and release pipeline #152
Conversation
Add release toggle to upload AAB to play store internal testing track. Download universal signed APK for reuse. Output versionCode for later promotion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I can approve this, not because I'm confident enough that I understand all the changes, but because I understand part of it and I'm convinced @rtibbles did test it. Also, there's not an efficient way of testing it but letting these actions going into develop to run them.
Said that, wouldn't it be great ot have some tutorial/demo of the process in the dev meeting?
p4a_android_project: install-tar p4a_android_distro create-strings needs-version | ||
$(P4A) bootstrap $(ARCH_OPTIONS) --version=$(APK_VERSION) --numeric-version=$(BUILD_NUMBER) | ||
p4a_android_project: install-tar p4a_android_distro create-strings | ||
$(P4A) bootstrap $(ARCH_OPTIONS) --version="None" --numeric-version=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure about this change as I don't know p4a
enough. Following the code it looks to me that both version and numeric-version are useless and the apk version is overseed by the version.upgrade
file that's built for gradle
, but glad to have more information to understand it if that's not corect.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, that's precisely it. P4A bakes this information into the build.gradle file during its bootstrapping of the build process, but I wanted to decouple from P4A as much as possible - mostly to make the Java project files stable, rather than continually changing based on P4A's builds (also it changes the build.gradle depending on whether it's a dev or production build, which didn't work well with committing these files to the repo).
…ase build number.
Add error handling and retry behaviour.
Have now tested this locally - had to make a few tweaks to ensure proper upload and download, but the 0.16.0b2 was successfully put on the internal testing track on the play store, and the generated universal APK subsequently downloaded. |
This PR finalizes the Github Action to handle:
For a complete spec of this work, see here: #151
Opening as a draft for now, as I have not had a chance to test a lot of this yet.
One last thing that probably needs to be done, is to do semver comparisons of the versionNames of the releases. This is necessary, as we do not want to release a Kolibri patch/minor release when a newer minor/major release already exists.