Official CI build for daily Nightly version of ArchiveTune. Redefining the YouTube Music Experience on Android.
π Runs at 0:00 AM every day, UTC 0 time zone π
Don't forget to leave a β for this repository if you visit. Thank you so much
Warning
- We DO NOT ACCEPT any issues, bug reports, or new ideas on "this repository". If you wanna create an issue or bug report, please create it here.
- For nightly builds, see
.github/workflows/nightly-build.yml
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
The following fingerprints are for the signing certificate used to sign all ArchiveTune Nightly releases.
FE:11:C6:9C:1E:20:08:06:79:D7:DD:EE:1B:72:65:A9:4B:68:A1:A4
3A:97:D1:35:BC:92:82:8D:13:C3:47:BE:42:48:8C:99:01:DD:A7:11:87:AF:95:E2:F8:A8:F0:96:34:C7:0A:1D
Click to expand π οΈ Development Environment π οΈ
Repository secrets (required for nightly builds):
| Secret | Description |
|---|---|
SIGNING_KEY_BASE64 |
Your Android signing key (.jks or .keystore) converted to base64. Used to sign the APK. Generate with: openssl base64 < YOUR_KEY.jks | tr -d '\n' | tee YOUR_KEY.jks.base64 |
KEYSTORE_PASSWORD |
Password used to protect your keystore file. Must match the password set when creating the keystore. |
KEY_ALIAS |
The alias name assigned to your signing key inside the keystore. Used during APK signing process. |
KEY_PASSWORD |
Password for the specific key alias within the keystore. May be different from keystore password. |
LASTFM_API_KEY |
Last.fm API key for scrobbling and integrated Last.fm features. Get it from Last.fm API. |
LASTFM_SECRET |
Last.fm API secret corresponding to your API key. Required for authenticated Last.fm requests. |
TOGETHER_BEARER_TOKEN |
Token for online music Together. Private and only @koiverse know it |
CANVAS_BEARER_TOKEN |
Token for canvas, only @koiverse know |
PAT_TOKEN |
GitHub Personal Access Token with Actions (trigger/run workflows), Contents (commit, push, create release), and optionally Workflows (cancel failed builds) permissions. |
To automatically trigger the nightly build at a specific time, set up a cron-job using cron-job.org or any similar service:
Title: Anything you want
URL:
https://api.github.com/repos/${{ github.repository }}/actions/workflows/trigger.yml/dispatches
${{ github.repository }} is your-username/your-repo-name so change it to your name and repository name.
Headers:
| Header | Value |
|---|---|
Accept |
application/vnd.github.v3+json |
Authorization |
Bearer YOUR_GITHUB_PAT |
Content-Type |
application/json |
Request menthod: POST
Body:
{
"ref":"main"
}Timeout: You can set 1 second if you can't wait.
Cron Schedule Examples:
| Schedule | Cron Expression | Description |
|---|---|---|
| Daily at midnight (UTC) | 0 0 * * * |
Runs every day at 00:00 UTC |
| Daily at midnight (UTC+0) | @daily |
Same as above, simplified |
| Every 6 hours | 0 */6 * * * |
At minute 0 of every 6th hour |
| Weekly on Sunday | 0 0 * * 0 |
Every Sunday at midnight |
[!TIP]
- The workflow uses
repository_dispatchtrigger, so the external cron service needs a PAT token withreposcope to send the dispatch event.- Alternatively, you can use GitHub's built-in scheduler by adding a
scheduletrigger to the workflow, but the external cron-job.org method gives you more control.





