From 3ba42dba0c07c9afe960d40bcc6b5de7e83917ae Mon Sep 17 00:00:00 2001 From: Richard Tibbles Date: Thu, 18 Jan 2024 09:36:29 -0800 Subject: [PATCH] Add action to build APK using latest Kolibri release. --- .github/workflows/pr_build.yml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/pr_build.yml diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml new file mode 100644 index 00000000..0dd8c124 --- /dev/null +++ b/.github/workflows/pr_build.yml @@ -0,0 +1,55 @@ +name: Build APK for PRs + +on: + pull_request: + branches: + - develop + +jobs: + pre_job: + name: Path match check + runs-on: ubuntu-latest + # Map a step output to a job output + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@master + with: + github_token: ${{ github.token }} + paths_ignore: '["**.po", "**.json"]' + latest_kolibri_release: + needs: pre_job + if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + runs-on: ubuntu-latest + outputs: + tar-url: ${{ steps.get_latest_kolibri_release.outputs.result }}} + steps: + - name: Get latest Kolibri release + id: get_latest_kolibri_release + uses: actions/github-script@v7 + with: + result-encoding: string + script: | + + const { data: releases } = await github.rest.repos.listReleases({ + owner: 'learningequality', + repo: 'kolibri', + per_page: 1, + page: 1, + }); + + const latestRelease = releases[0]; + const tarAsset = latestRelease.assets.find(asset => asset.name.endsWith('.tar.gz')); + const tarUrl = tarAsset.browser_download_url; + return tarUrl; + + build_apk: + name: Build Debug APK + needs: [pre_job, latest_kolibri_release] + if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + runs-on: ubuntu-latest + steps: + - uses: ./.github/workflows/build_apk.yml + with: + tar-url: ${{ needs.latest_kolibri_release.outputs.tar-url }}