ci: adjust the life sign mark in emulator run (#273) #415
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build APK/AAB CI | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
concurrency: | |
group: matrix-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
build-v-examples-as-apk-and-aab: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
java-version: [8,11,15] | |
android-api: [27, 30] | |
timeout-minutes: 20 | |
env: | |
VAB_FLAGS: -v 3 --build-tools 29.0.0 | |
steps: | |
- uses: actions/setup-java@v2 | |
with: | |
distribution: 'adopt' | |
java-version: ${{ matrix.java-version }} | |
- name: Checkout V | |
uses: actions/checkout@v2 | |
with: | |
repository: vlang/v | |
- name: Build local v | |
run: make -j2 | |
- name: Checkout vab | |
uses: actions/checkout@v2 | |
with: | |
path: vab | |
- name: Simulate "v install vab" | |
run: mv vab ~/.vmodules | |
- name: Run tests | |
run: ./v test ~/.vmodules/vab | |
- name: Build vab | |
run: ./v -g ~/.vmodules/vab | |
- name: Symlink vab | |
run: sudo ln -s ~/.vmodules/vab/vab /usr/local/bin/vab | |
- name: Run vab --help | |
run: vab --help | |
- name: Run vab doctor | |
run: vab doctor | |
# AAB | |
- name: Install AAB dependencies | |
run: | | |
vab install bundletool | |
vab install aapt2 | |
- name: Build examples as APK + AAB (Java ${{ matrix.java-version }}) ${{ matrix.android-api }} | |
run: | | |
declare -a v_examples=('flappylearning' '2048' 'fireworks' 'tetris' 'sokol/particles' 'sokol/drawing.v' 'sokol/freetype_raven.v' 'gg/polygons.v' 'gg/raven_text_rendering.v' 'gg/rectangles.v' 'gg/stars.v' 'gg/worker_thread.v') | |
for example in "${v_examples[@]}"; do | |
package_id=$( echo "$example" | sed 's%/%%' | sed 's%\.%%' ) | |
package_id=$( echo "v$package_id" ) | |
# Setup env | |
mkdir -p java-${{ matrix.java-version }}/$example | |
# APK | |
vab --package-id "io.v.apk.$package_id" --api ${{ matrix.android-api }} "examples/$example" -o java-${{ matrix.java-version }}/$example/$package_id.apk | |
[ -f java-${{ matrix.java-version }}/$example/$package_id.apk ] | |
# AAB | |
vab --package-id "io.v.aab.$package_id" --api ${{ matrix.android-api }} "examples/$example" -o java-${{ matrix.java-version }}/$example/$package_id.aab | |
# Checks output inferring | |
[ -f java-${{ matrix.java-version }}/$example/$package_id.aab ] | |
done | |
build-v-examples-with-gc-disabled: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
java-version: [8, 15] | |
android-api: [27, 30] | |
timeout-minutes: 20 | |
env: | |
VAB_FLAGS: -v 3 -gc none --build-tools 29.0.0 | |
steps: | |
- uses: actions/setup-java@v2 | |
with: | |
distribution: 'adopt' | |
java-version: ${{ matrix.java-version }} | |
- name: Checkout V | |
uses: actions/checkout@v2 | |
with: | |
repository: vlang/v | |
- name: Build local v | |
run: make -j2 | |
- name: Checkout vab | |
uses: actions/checkout@v2 | |
with: | |
path: vab | |
- name: Simulate "v install vab" | |
run: mv vab ~/.vmodules | |
- name: Run tests | |
run: ./v test ~/.vmodules/vab | |
- name: Build vab | |
run: ./v -g ~/.vmodules/vab | |
- name: Symlink vab | |
run: sudo ln -s ~/.vmodules/vab/vab /usr/local/bin/vab | |
- name: Run vab --help | |
run: vab --help | |
- name: Run vab doctor | |
run: vab doctor | |
- name: Build examples with garbage collector (Java ${{ matrix.java-version }}) ${{ matrix.android-api }} | |
run: | | |
declare -a v_examples=('flappylearning' '2048' 'fireworks' 'tetris' 'sokol/particles' 'sokol/drawing.v' 'sokol/freetype_raven.v' 'gg/polygons.v' 'gg/raven_text_rendering.v' 'gg/rectangles.v' 'gg/stars.v' 'gg/worker_thread.v') | |
for example in "${v_examples[@]}"; do | |
package_id=$( echo "$example" | sed 's%/%%' | sed 's%\.%%' ) | |
package_id=$( echo "vgc$package_id" ) | |
# Setup env | |
mkdir -p gc-java-${{ matrix.java-version }}/$example | |
# APK | |
vab -gc boehm --package-id "io.v.apk.$package_id" --api ${{ matrix.android-api }} "examples/$example" -o gc-java-${{ matrix.java-version }}/$example/$package_id.apk | |
done |