Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit a80c52a

Browse files
authored
Add detailed instructions about build types
1 parent aabc8e7 commit a80c52a

File tree

1 file changed

+88
-11
lines changed

1 file changed

+88
-11
lines changed

.github/workflows/build_apk.yml

+88-11
Original file line numberDiff line numberDiff line change
@@ -391,16 +391,49 @@ jobs:
391391
prerelease: true
392392
body: |
393393
This release was automatically generated from GitHub ${{ github.ref }} in run ID ${{ github.run_id }}.
394-
arm64 is compatible with most devices and offers the best performance.
395-
It is recommended to use "-signed.apk" releases to get the latest versions.
394+
395+
Summary:
396+
- To install / update Kiwi Browser, use "Kiwi-${{ github.run_id }}-arm64-signed.apk".
397+
If it doesn't work, try again using "Kiwi-${{ github.run_id }}-arm64-playstore.apk" (if it exists).
398+
399+
Detailed information about the different files:
400+
- ".mapping" files are files that developers can use to investigate crashes, these files are not needed to run the browser and are for developers only.
401+
- ".apk" files are packages that you have to install to use Kiwi Browser.
402+
403+
The filenames are in the form "Kiwi-[BUILD_VERSION]-[ARCHITECTURE]-[SIGNATURE_TYPE].apk"
404+
405+
Build version:
406+
- Everytime a change is introduced in Kiwi Browser, a new build version is generated.
407+
408+
Architecture:
409+
- "-arm64" is compatible with modern devices and offers the best performance.
410+
- "-arm" is compatible with almost all devices and uses less memory.
411+
- "-x86" and "-x64" builds are compatible with emulators and Intel compatible tablets.
412+
413+
Signature type:
414+
- On Android, applications have to be signed by a developer before they can be installed.
396415
397-
"-unsigned.apk" builds are signed using a random development key (upgrades / updates are not possible).
416+
Kiwi has two types of builds:
398417
399-
"-signed.apk" builds are signed with the developer key (same as XDA-Developers, Discord and GitHub) and can be updated without data loss.
400-
All builds are signed.
418+
Signed by the developer:
419+
- "-signed.apk" are builds signed using the official developer key.
420+
A signed build is a build that comes straight from the GitHub official repository and is always the most updated.
421+
422+
Play Certified by Google:
423+
- Once in a while, we send a "-signed.apk" build to be reviewed and signed by Google.
424+
Google reviews the application, checks that the application is not malicious, adds the "Google Play Certified" badge, signs the file and this becomes "-playstore.apk".
425+
426+
We then distribute "-playstore.apk" on Google Play, XDA-Developers, Samsung and other app stores.
427+
428+
This process takes some time and is partially manual so not all GitHub builds have a "-playstore.apk".
401429
402-
"-playstore.apk" builds are signed by Google, they can be installed on top of Play Store releases only.
403-
Not all builds are signed by Google.
430+
On Android, you can install an update to an application only if it was signed by the same developer as the version that you currently have installed:
431+
- You can install a "-signed.apk" build on top of a "-signed.apk" build, and a "-playstore.apk" build on top of a "-playstore.apk" build.
432+
- You cannot install a "-playstore.apk" build on top of a "-signed.apk" build.
433+
434+
Essentially, if you have a Google Play certified installation, you need to keep using the "-playstore.apk" files or the official updates.
435+
436+
There is generally only a few days only before the build appears on the Play Store anyway.
404437
405438
- name: Downloading artifact (arm)
406439
uses: actions/download-artifact@v1
@@ -422,7 +455,7 @@ jobs:
422455
with:
423456
name: apk-x64
424457

425-
- name: Uploading release asset (arm)
458+
- name: Uploading APK into GitHub release (arm)
426459
uses: actions/upload-release-asset@v1
427460
env:
428461
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -432,7 +465,7 @@ jobs:
432465
asset_name: Kiwi-${{ github.run_id }}-arm-unsigned.apk
433466
asset_content_type: application/vnd.android.package-archive
434467

435-
- name: Uploading release asset (arm64)
468+
- name: Uploading APK into GitHub release (arm64)
436469
uses: actions/upload-release-asset@v1
437470
env:
438471
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -442,7 +475,7 @@ jobs:
442475
asset_name: Kiwi-${{ github.run_id }}-arm64-unsigned.apk
443476
asset_content_type: application/vnd.android.package-archive
444477

445-
- name: Uploading release asset (x86)
478+
- name: Uploading APK into GitHub release (x86)
446479
uses: actions/upload-release-asset@v1
447480
env:
448481
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -452,7 +485,7 @@ jobs:
452485
asset_name: Kiwi-${{ github.run_id }}-x86-unsigned.apk
453486
asset_content_type: application/vnd.android.package-archive
454487

455-
- name: Uploading release asset (x64)
488+
- name: Uploading APK into GitHub release (x64)
456489
uses: actions/upload-release-asset@v1
457490
env:
458491
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -462,6 +495,46 @@ jobs:
462495
asset_name: Kiwi-${{ github.run_id }}-x64-unsigned.apk
463496
asset_content_type: application/vnd.android.package-archive
464497

498+
- name: Uploading mapping file into GitHub release (arm)
499+
uses: actions/upload-release-asset@v1
500+
env:
501+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
502+
with:
503+
upload_url: ${{ steps.create_release.outputs.upload_url }}
504+
asset_path: ./apk-arm/ChromePublic.apk.mapping
505+
asset_name: Kiwi-${{ github.run_id }}-arm.mapping
506+
asset_content_type: application/vnd.android.package-archive
507+
508+
- name: Uploading mapping file into GitHub release (arm64)
509+
uses: actions/upload-release-asset@v1
510+
env:
511+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
512+
with:
513+
upload_url: ${{ steps.create_release.outputs.upload_url }}
514+
asset_path: ./apk-arm64/ChromePublic.apk.mapping
515+
asset_name: Kiwi-${{ github.run_id }}-arm64.mapping
516+
asset_content_type: application/vnd.android.package-archive
517+
518+
- name: Uploading mapping file into GitHub release (x86)
519+
uses: actions/upload-release-asset@v1
520+
env:
521+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
522+
with:
523+
upload_url: ${{ steps.create_release.outputs.upload_url }}
524+
asset_path: ./apk-x86/ChromePublic.apk.mapping
525+
asset_name: Kiwi-${{ github.run_id }}-x86.mapping
526+
asset_content_type: application/vnd.android.package-archive
527+
528+
- name: Uploading mapping file into GitHub release (x64)
529+
uses: actions/upload-release-asset@v1
530+
env:
531+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
532+
with:
533+
upload_url: ${{ steps.create_release.outputs.upload_url }}
534+
asset_path: ./apk-x64/ChromePublic.apk.mapping
535+
asset_name: Kiwi-${{ github.run_id }}-x64.mapping
536+
asset_content_type: application/vnd.android.package-archive
537+
465538
- name: Uploading artifacts to storage (Wasabi S3)
466539
if: ${{ github.repository_owner == 'kiwibrowser' }}
467540
env:
@@ -472,6 +545,10 @@ jobs:
472545
rclone copy --fast-list --transfers=16 ./apk-arm64/ChromePublic.apk sync:kiwibrowser-builds/${{ github.run_id }}/arm64/
473546
rclone copy --fast-list --transfers=16 ./apk-x86/ChromePublic.apk sync:kiwibrowser-builds/${{ github.run_id }}/x86/
474547
rclone copy --fast-list --transfers=16 ./apk-x64/ChromePublic.apk sync:kiwibrowser-builds/${{ github.run_id }}/x64/
548+
rclone copy --fast-list --transfers=16 ./apk-arm/ChromePublic.apk.mapping sync:kiwibrowser-builds/${{ github.run_id }}/arm/
549+
rclone copy --fast-list --transfers=16 ./apk-arm64/ChromePublic.apk.mapping sync:kiwibrowser-builds/${{ github.run_id }}/arm64/
550+
rclone copy --fast-list --transfers=16 ./apk-x86/ChromePublic.apk.mapping sync:kiwibrowser-builds/${{ github.run_id }}/x86/
551+
rclone copy --fast-list --transfers=16 ./apk-x64/ChromePublic.apk.mapping sync:kiwibrowser-builds/${{ github.run_id }}/x64/
475552
476553
- name: Signing and uploading release to GitHub
477554
if: ${{ github.repository_owner == 'kiwibrowser' }}

0 commit comments

Comments
 (0)