forked from extern/Unexpected-Keyboard
723c7e9aec
* Cache dependencies on CI workflow * Use available fontforge version for CI action Avoid a dirty OS upgrade to get a newer version of FontForge, use what is available at Ubuntu 20.04 * Upgrade CI Workflow By using an appimage of FontForge, it's easier to install the latest version, to cache it, and there is no extra dependencies clashes with Ubuntu 20.04 * Make paths for fontforge absolute in makefile It's necessary because fontforge is an AppImage and requires it * Improve cache step on CI wget don't download a duplicate if file already exists * Generate base64 ascii encoded debug keystore That can be used to transfer the keystore to a Github Secret * Restore debug.keystore from github secrets Get the asc encoded keystore from github secrets, and decode it back to a bynary file inside the CI run. * Cleanup redundant lines and add explanation comment * runs-on ubuntu-latest Co-authored-by: Jules Aguillon <jules@j3s.fr> * add *.keystore.asc to .gitignore * Clean up lines, adjust documentation * use CURDIR automatic makefile variable Co-authored-by: Jules Aguillon <jules@j3s.fr>
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
name: Make Apk CI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
Build-Apk:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Cache fontforge and extra dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: /usr/local/bin
|
|
key: usr-local-bin
|
|
- name: Install latest FontForge version (using AppImage)
|
|
run: |
|
|
# Get most recent version of FontForge
|
|
# Using AppImage there is no dependecy problem, it is the latest version and it's easier to cache
|
|
cd /usr/local/bin
|
|
sudo wget -c -N https://github.com/fontforge/fontforge/releases/download/20220308/FontForge-2022-03-08-582bd41-x86_64.AppImage
|
|
sudo chmod +x ./FontForge-2022-03-08-582bd41-x86_64.AppImage
|
|
sudo ln --symbolic --force /usr/local/bin/FontForge-2022-03-08-582bd41-x86_64.AppImage /usr/local/bin/fontforge
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'zulu' # See 'Supported distributions' for available options
|
|
java-version: '11'
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v2
|
|
- name: Cache debug certificate
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: _build/debug.keystore
|
|
key: debug-keystore
|
|
- name: Restore debug keystore from github Secrets
|
|
run: |
|
|
mkdir -p _build
|
|
cd "$GITHUB_WORKSPACE/_build"
|
|
# Check if exist and use the secret named DEBUG_KEYSTORE
|
|
# The contents of the secret can be obtained -
|
|
# from the debug.keystore.asc from you local _build folder
|
|
if [[ ! "${{ secrets.DEBUG_KEYSTORE }}" == "" ]]; then
|
|
echo "${{ secrets.DEBUG_KEYSTORE }}" > "debug.keystore.asc"
|
|
if [[ -s "debug.keystore.asc" ]]; then
|
|
gpg -d --passphrase "debug0" --batch "debug.keystore.asc" > "debug.keystore"
|
|
fi
|
|
fi
|
|
- name: Build
|
|
run: make
|
|
- name: Save debug apk
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: debug apk
|
|
path: _build/*.apk
|