40 Commits

Author SHA1 Message Date
izzy2lost 827c176998 Update pr_build.yml 2024-06-28 20:15:18 -04:00
izzy2lost 0f13b75fe7 Update pr_build.yml 2024-06-28 19:49:23 -04:00
izzy2lost 0770f942b5 Update pr_build.yml 2024-06-28 19:11:37 -04:00
izzy2lost 3e82b1c72b Update build.yml 2024-06-28 19:00:34 -04:00
lynxnb a503ca19bc Use a repository variable to control CI artifact upload for PRs 2024-03-01 10:54:05 +01:00
lynxnb d5d6e677ca Rework CI to only upload artifacts for PR builds
CI now performs build checks on pushes to the master branch only.
For pull requests, the dev variant of the app is built and artifacts are uploaded for ease of testing and side-by-side installation. PR builds use autogenerated debug signing keys, resulting in different keys being used for each build on purpose to ensure they cannot be installed over each other, avoiding any possible conflict between two PRs.
2024-02-27 23:11:15 +01:00
TGP17 812b1d7646 Build the correct app variant in CI (#248) 2024-02-27 11:04:05 +01:00
lynxnb 29d1717ce9 Update CI to use the latest dependencies 2024-01-05 02:19:03 +01:00
lynxnb be6f84c3c6 Update CI to the new project name 2023-05-09 23:43:43 +02:00
lynxnb c9b055d0e3 Build reldebug instead of debug in CI 2023-02-12 22:21:25 +01:00
Niccolò Betto 439c18d8eb Fix ccache not working in CI
The default `compiler_check` strategy used by ccache was causing a 0% hit rate, as it was using the compiler's "modified time" as part of the hash. Since the script installs dependencies from scratch for every run, mtime was always different, causing different hashes even when source files were unchanged. To avoid this, use the NDK version as part of the hash instead.
2023-02-12 22:09:11 +01:00
lynxnb 9a96ea84ba Trigger an edge patch update on modified edge PRs 2023-02-12 03:22:00 +01:00
lynxnb e9907d2fac Trigger an edge patch update on edge label added/removed 2023-02-09 23:49:20 +01:00
lynxnb 18506a6e52 Update actions/checkout 2022-12-10 15:39:54 +00:00
lynxnb c8a99582c2 Upload artifacts on ci-labeled PRs only 2022-12-10 15:39:54 +00:00
PixelyIon 48d2b3bf07 Only trigger CI builds on labelled PRs
We only want to run CI builds once they've been assigned the `ci` label. This allows more direct control over when PRs are built.
2022-10-23 20:20:44 +05:30
lynxnb d962059ce2 Fix CI failing on renaming unsigned builds 2022-10-17 18:39:37 +02:00
lynxnb b17364bb92 Introduce a dev app flavor for side-by-side installation 2022-10-01 13:01:46 +02:00
MCredstoner2004 e316bf5877 Fix CI cache
Use CCache for saving and restoring compilation cache across runs instead of copying the build folder.
2022-09-03 19:43:04 -05:00
lynxnb 39f398f76b Update Kotlin (1.7.10), NDK (25.0.8775105), AGP (7.2.2) and Kotlin deps 2022-08-17 12:28:31 +02:00
PixelyIon cd969316e9 Don't delete build folder in CI runs
The build folder was being deleted at the end of CI runs but it has to be cached and this deletion wasn't necessary as the disk would be wiped at the end of the CI build, this has now been fixed.
2022-08-06 22:20:54 +05:30
PixelyIon e3e92ce1d4 Handle unsigned builds on CI
We don't always have access to CI secrets, such as, when a certain CI action is triggered by a PR from an external repository then it won't have access to secrets and be signed. While we likely will allow for this in the future as all workflows do have to be approved,  it is still important to not crash when keys are unavailable and have a graceful fallback for those situations.
2022-06-11 17:05:39 +05:30
PixelyIon da79e2c8e3 Add Robust CI Cache Restoration
The `restore-keys` parameter of `actions/cache@v3` is now utilized to add robust fallbacks for missing cache keys, it should automatically fall back to an older but still valid cache rather than entirely miss now.
2022-05-31 01:25:18 +05:30
PixelyIon 40a7433e97 Extend CI Gradle caching and performance parameters
A lot of default Gradle parameters are unoptimal for the best performance, this enables the configuration and build cache alongside parallel building.
2022-05-31 01:25:18 +05:30
PixelyIon 4a6978a3bb Extend CI C++ build cache
The CI didn't cache the C++ build related directories under `app/build/` which caused a full recompilation of C++ code, this takes a significant amount of time.
2022-05-31 01:25:18 +05:30