6 changed files with 246 additions and 154 deletions
@ -0,0 +1,122 @@
@@ -0,0 +1,122 @@
|
||||
name: Android 64-bit Release |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- 'master' |
||||
pull_request: |
||||
branches: |
||||
- '*' |
||||
|
||||
defaults: |
||||
run: |
||||
shell: bash |
||||
|
||||
env: |
||||
SOURCE_DIR: ${{ github.workspace }} |
||||
QT_VERSION: 5.15.2 |
||||
ARTIFACT: QGroundControl64.apk |
||||
|
||||
jobs: |
||||
build: |
||||
runs-on: ubuntu-20.04 |
||||
|
||||
steps: |
||||
- name: Checkout repo |
||||
uses: actions/checkout@v2 |
||||
with: |
||||
submodules: recursive |
||||
|
||||
- name: Get all tags for correct version determination |
||||
working-directory: ${{ github.workspace }} |
||||
run: | |
||||
git fetch --unshallow |
||||
git fetch --all --tags |
||||
|
||||
- name: Install Qt |
||||
uses: jurplel/install-qt-action@v2 |
||||
with: |
||||
version: ${{ env.QT_VERSION }} |
||||
host: linux |
||||
target: android |
||||
dir: ${{ runner.temp }} |
||||
modules: qtcharts |
||||
setup-python: true |
||||
|
||||
- name: Install ccache |
||||
run: sudo apt-get install ccache |
||||
|
||||
- name: Prepare ccache timestamp |
||||
id: ccache_cache_timestamp |
||||
shell: cmake -P {0} |
||||
run: | |
||||
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) |
||||
message("::set-output name=timestamp::${current_date}") |
||||
|
||||
- name: ccache cache files |
||||
uses: actions/cache@v2 |
||||
with: |
||||
path: ~/.ccache |
||||
key: ${{ runner.os }}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} |
||||
restore-keys: ${{ runner.os }}-ccache- |
||||
|
||||
- name: Setup ccache |
||||
run: | |
||||
mkdir -p ~/.ccache |
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf |
||||
echo "compression = true" >> ~/.ccache/ccache.conf |
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf |
||||
ccache -s |
||||
ccache -z |
||||
|
||||
- name: Create build directory |
||||
run: mkdir ${{ runner.temp }}/shadow_build_dir |
||||
|
||||
- name: Install gstreamer |
||||
working-directory: ${{ github.workspace }} |
||||
run: | |
||||
wget --quiet https://gstreamer.freedesktop.org/data/pkg/android/1.18.5/gstreamer-1.0-android-universal-1.18.5.tar.xz |
||||
mkdir gstreamer-1.0-android-universal-1.18.5 |
||||
tar xf gstreamer-1.0-android-universal-1.18.5.tar.xz -C gstreamer-1.0-android-universal-1.18.5 |
||||
|
||||
- name: Git branch name |
||||
id: git-branch-name |
||||
uses: EthanSK/git-branch-name-action@v1 |
||||
|
||||
- name: Update android manifest |
||||
run: | |
||||
if [ $GIT_BRANCH_NAME != "Stable*" ]; then |
||||
${SOURCE_DIR}/tools/update_android_manifest_package.sh ${GIT_BRANCH_NAME} |
||||
fi |
||||
|
||||
- name: Build |
||||
working-directory: ${{ runner.temp }}/shadow_build_dir |
||||
env: |
||||
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} |
||||
run: | |
||||
if [ $GIT_BRANCH_NAME == "Stable*" ]; then |
||||
echo "Stable build" && |
||||
export STABLE_OR_DAILY=StableBuild; |
||||
else |
||||
echo "Daily build" && |
||||
export STABLE_OR_DAILY=DailyBuild; |
||||
fi |
||||
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro -spec android-clang CONFIG+=${STABLE_OR_DAILY} CONFIG+=installer ANDROID_ABIS="arm64-v8a" |
||||
make -j2 |
||||
|
||||
- name: ccache post-run |
||||
run: ccache -s |
||||
|
||||
- name: Save artifact |
||||
uses: actions/upload-artifact@master |
||||
with: |
||||
name: ${{ env.ARTIFACT }} |
||||
path: ${{ runner.temp }}/shadow_build_dir/package/${{ env.ARTIFACT }} |
||||
|
||||
- name: Upload to S3 Bucket |
||||
if: github.event_name == 'push' |
||||
working-directory: ${{ runner.temp }}/shadow_build_dir/package |
||||
run: | |
||||
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} |
||||
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
||||
aws s3 cp ${ARTIFACT} s3://qgroundcontrol/builds/master/${ARTIFACT} --region us-west-2 --acl public-read |
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
name: Android build |
||||
|
||||
on: [push, pull_request] |
||||
|
||||
defaults: |
||||
run: |
||||
shell: bash |
||||
jobs: |
||||
build: |
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- name: Checkout repo |
||||
uses: actions/checkout@v2 |
||||
with: |
||||
submodules: recursive |
||||
|
||||
- name: Build |
||||
run: | |
||||
mkdir build |
||||
sudo docker run -t --mount type=bind,source=$PWD,target=/home/user/qgroundcontrol --user root williangalvani/qgc-android-build |
||||
|
||||
- name: Save artifact |
||||
uses: actions/upload-artifact@master |
||||
with: |
||||
name: QGroundControl.apk |
||||
path: build/dist/build/outputs/apk/dist-release-unsigned.apk |
Loading…
Reference in new issue