Providing custom app dummy bundle on Github (#110)

This commit is contained in:
Kelson 2023-11-10 13:48:36 +01:00 committed by GitHub
commit 31839f6c9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 77 additions and 12 deletions

View File

@ -39,4 +39,62 @@ jobs:
DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION: ${{ secrets.DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION }} DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION: ${{ secrets.DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION }}
run: | run: |
cd kiwix-android cd kiwix-android
eval "./gradlew publish${TAG^}ReleaseApkWithExpansionFile" eval "./gradlew publish${TAG^}ReleaseBundleWithPlayAssetDelivery"
publish_dummy_bundle:
runs-on: ubuntu-22.04
steps:
- name: Retrieving custom app configuration
uses: actions/checkout@v3
- name: Retrieving Kiwix Android source code
run: git clone --depth=1 --single-branch --branch develop https://github.com/kiwix/kiwix-android.git
- name: Copying custom app configuration into Kiwix Android code base
run: ./copy_files_to_kiwix_android.sh
- name: Preparing signing material
env:
keystore: ${{ secrets.keystore }}
run: |
echo "$keystore" | base64 -d > kiwix-android/kiwix-android.keystore
- name: Set tag variable
run: echo "TAG=$(echo ${GITHUB_REF:10})" >> $GITHUB_ENV
- name: Should upload dummy Bundle
run: |
cd ${TAG}
new=$(grep -o '"new": true' info.json)
if [ -n "$new" ]; then
echo "The 'new' attribute is true, proceeding to publish dummy bundle..."
else
echo "The 'new' attribute is not true, skipping the next job."
exit 0 # Skip the job as Bundle is already published on play store
fi
- name: Generate dummy Bundle
env:
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION: ${{ secrets.DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION }}
run: |
cd kiwix-android
eval "./gradlew bundle${TAG^}Release"
- name: Get Bundle name and path
id: bundle-path
run: |
BUNDLE_PATH="kiwix-android/custom/build/outputs/bundle/${TAG}Release/*${TAG}*.aab"
BUNDLE_NAME="${TAG^}DummyBundle.aab"
echo "bundle_path=$BUNDLE_PATH" >> $GITHUB_ENV
echo "bundle_name=$BUNDLE_NAME" >> $GITHUB_ENV
- name: Upload Bundle as an artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.bundle_name }}
path: ${{ env.bundle_path }}

View File

@ -47,6 +47,9 @@ important fields are:
- `disable_sidebar`, a boolean value, when set to `true`, it hides the sidebar - `disable_sidebar`, a boolean value, when set to `true`, it hides the sidebar
- `disable_tabs`, a boolean value, when set to `true`, it deactivates the multi-tabs feature - `disable_tabs`, a boolean value, when set to `true`, it deactivates the multi-tabs feature
- `disable_read_aloud`, a boolean value, when set to `true`, it disable the text-to-speech feature - `disable_read_aloud`, a boolean value, when set to `true`, it disable the text-to-speech feature
- `new`, A boolean value, when set to `true`, it triggers the creation
and storage of a dummy release Bundle during the current workflow
run.
You can also create this new file using Github IO. Go to You can also create this new file using Github IO. Go to
https://github.com/kiwix/kiwix-android-custom/new/master and type https://github.com/kiwix/kiwix-android-custom/new/master and type
@ -140,20 +143,24 @@ then Go to the [release
This triggers a [Github This triggers a [Github
action](https://github.com/kiwix/kiwix-android-custom/actions) that action](https://github.com/kiwix/kiwix-android-custom/actions) that
will build an app using kiwix-android master branch and the icon will build an app Bundle using kiwix-android master branch and the
set/json defined in this repository and then upload it to the Play illustrations/icons set/json defined in this repository.
Console in draft to alpha with an expansion file attached. Therefore,
go to the [Google Play Store Admin
dashboard](https://play.google.com/apps/publish) for the
corresponding app and go to menu "Publication management" > "App version":
under "Alpha", you can click on "Modify version". After a couple of hours
the new version of the app should be listed in the public Play Store.
Remark: This will only work with app updates. To create a new custom The very first release has to be done manually. Put the `new`
app an app must be built manually and submit to the Google Play store [attribute](#description-json-file) so the release management action
provides you the dummy first bundle to upload.
All other further releases (without the `new` attribute in the
`json.info`) are then uploaded automatically to the Google Play app
store as draft. Therefore, once released, go then to the [Google Play
Store Admin dashboard](https://play.google.com/apps/publish) for the
corresponding app and go to menu "Publication management" > "App
version": under "Internal Testing", you can click on "Modify
version". After a couple of hours the new version of the app should
be listed in the public Play Store.
License License
------- -------
[GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see [GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see
[LICENSE](LICENSE) for more details. [LICENSE](LICENSE) for more details.