mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 08:47:28 +01:00
142 lines
5.5 KiB
YAML
142 lines
5.5 KiB
YAML
name: Continuous integration
|
|
#on: [pull_request, push]
|
|
on:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
inputs:
|
|
triggerIos:
|
|
description: 'Run iOS tests'
|
|
required: true
|
|
default: 'no'
|
|
triggerMacos:
|
|
description: 'Run macOS tests'
|
|
required: true
|
|
default: 'no'
|
|
|
|
jobs:
|
|
android:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 PLATFORM=simulator TARGET=android
|
|
- run: make -j2 PLATFORM=simulator TARGET=android epsilon.official.apk
|
|
- run: make -j2 PLATFORM=simulator TARGET=android test.apk
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-android.apk
|
|
path: output/release/simulator/android/epsilon.apk
|
|
n0100:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
|
|
- uses: numworks/setup-arm-toolchain@2020-q2
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 MODEL=n0100 epsilon.dfu
|
|
- run: make -j2 MODEL=n0100 epsilon.onboarding.dfu
|
|
- run: make -j2 MODEL=n0100 epsilon.official.onboarding.dfu
|
|
- run: make -j2 MODEL=n0100 epsilon.onboarding.update.dfu
|
|
- run: make -j2 MODEL=n0100 epsilon.onboarding.beta.dfu
|
|
- run: make -j2 MODEL=n0100 flasher.light.dfu
|
|
- run: make -j2 MODEL=n0100 flasher.verbose.dfu
|
|
- run: make -j2 MODEL=n0100 test.elf
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-n0100.dfu
|
|
path: output/release/device/n0100/epsilon.dfu
|
|
n0110:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
|
|
- uses: numworks/setup-arm-toolchain@2020-q2
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 epsilon.dfu
|
|
- run: make -j2 epsilon.onboarding.dfu
|
|
- run: make -j2 epsilon.official.onboarding.dfu
|
|
- run: make -j2 epsilon.onboarding.update.dfu
|
|
- run: make -j2 epsilon.onboarding.beta.dfu
|
|
- run: make -j2 flasher.light.dfu
|
|
- run: make -j2 flasher.verbose.dfu
|
|
- run: make -j2 bench.ram.dfu
|
|
- run: make -j2 bench.flash.dfu
|
|
- run: make -j2 test.elf
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-n0110.dfu
|
|
path: output/release/device/n0110/epsilon.dfu
|
|
windows:
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: msys2/setup-msys2@v2
|
|
- uses: actions/checkout@v2
|
|
- run: pacman -S --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-freetype mingw-w64-x86_64-pkg-config make mingw-w64-x86_64-python3 mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-libpng
|
|
- run: make -j2 PLATFORM=simulator
|
|
- run: make -j2 PLATFORM=simulator epsilon.official.exe
|
|
- run: make -j2 PLATFORM=simulator test.headless.exe
|
|
- run: output/release/simulator/windows/test.headless.exe
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-windows.exe
|
|
path: output/release/simulator/windows/epsilon.exe
|
|
web:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: numworks/setup-emscripten@v1
|
|
with:
|
|
sdk: 1.39.16-fastcomp
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 PLATFORM=simulator TARGET=web
|
|
- run: make -j2 PLATFORM=simulator TARGET=web epsilon.official.zip
|
|
- run: make -j2 PLATFORM=simulator TARGET=web test.headless.js
|
|
- run: node output/release/simulator/web/test.headless.js
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-web.zip
|
|
path: output/release/simulator/web/epsilon.zip
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 PLATFORM=simulator
|
|
- run: make -j2 PLATFORM=simulator epsilon.official.bin
|
|
- run: make -j2 PLATFORM=simulator test.headless.bin
|
|
- run: output/release/simulator/linux/test.headless.bin
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-linux.bin
|
|
path: output/release/simulator/linux/epsilon.bin
|
|
macos:
|
|
if: github.event.inputs.triggerMacos == 'yes'
|
|
runs-on: macOS-latest
|
|
steps:
|
|
- run: brew install numworks/tap/epsilon-sdk
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 PLATFORM=simulator
|
|
- run: make -j2 PLATFORM=simulator epsilon.official.app
|
|
- run: make -j2 PLATFORM=simulator ARCH=x86_64 test.headless.bin
|
|
- run: output/release/simulator/macos/x86_64/test.headless.bin
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-macos.zip
|
|
path: output/release/simulator/macos/epsilon.app
|
|
ios:
|
|
if: github.event.inputs.triggerIos == 'yes'
|
|
runs-on: macOS-latest
|
|
steps:
|
|
- run: brew install numworks/tap/epsilon-sdk
|
|
- uses: actions/checkout@v2
|
|
- run: make -j2 PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0
|
|
- run: make -j2 PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 epsilon.official.ipa
|
|
- run: make -j2 PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 test.ipa
|
|
- run: make -j2 PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 APPLE_PLATFORM=ios-simulator
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: epsilon-ios.ipa
|
|
path: output/release/simulator/ios/epsilon.ipa
|
|
|
|
env:
|
|
ACCEPT_OFFICIAL_TOS: 1
|