v/.github/workflows/vab_ci.yml

53 lines
1.3 KiB
YAML

name: vab CI
on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
jobs:
vab-compiles-v-examples:
runs-on: ubuntu-20.04
timeout-minutes: 121
steps:
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 8
- uses: actions/checkout@v2
- name: Build V
run: make -j2 && ./v -cc gcc -o v cmd/v
- name: Clone vab
run: git clone --depth 1 https://github.com/vlang/vab
- name: Build vab
run: cd vab; ../v ./vab.v ; cd ..
- name: Run tests
run: ./v test vab
- name: Build vab
run: ./v -g vab/vab.v
- name: Run vab --help
run: vab/vab --help
- name: Run vab doctor
run: |
export VEXE=./v
vab/vab doctor
- name: Build graphical V examples as APK
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')
mkdir apks
export VEXE=./v
for example in "${v_examples[@]}"; do
safe_name=$(echo "$example" | sed 's%/%-%' | sed 's%\.%-%' )
vab/vab --api 29 --build-tools '29.0.0' -v 3 examples/$example -o apks/$safe_name.apk
done