Files
imgui-java/.github/workflows/ci-build.yml
T

78 lines
2.4 KiB
YAML

name: CI Build
on: [ push, pull_request ]
jobs:
build-java:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
name: Build Java [${{ matrix.os }}]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Java 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Build
uses: eskatos/gradle-command-action@v1
with:
arguments: build
build-natives:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
type: [win32, win64, linux32, linux64, mac64]
include:
- os: ubuntu-latest
type: win32
expected: imgui-binding/build/libsNative/windows32/imgui-java.dll
- os: ubuntu-latest
type: win64
expected: imgui-binding/build/libsNative/windows64/imgui-java64.dll
- os: ubuntu-latest
type: linux32
expected: imgui-binding/build/libsNative/linux32/libimgui-java.so
- os: ubuntu-latest
type: linux64
expected: imgui-binding/build/libsNative/linux64/libimgui-java64.so
- os: macos-latest
type: mac64
expected: imgui-binding/build/libsNative/macosx64/libimgui-java64.dylib
exclude:
- os: ubuntu-latest
type: mac64
- os: macos-latest
type: win32
- os: macos-latest
type: win64
- os: macos-latest
type: linux32
- os: macos-latest
type: linux64
name: Build Natives [${{ matrix.os }}]-[${{ matrix.type }}]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v2
with:
submodules: recursive
- name: Set up Java 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Ant Version
run: ant -version
- if: matrix.os == 'ubuntu-latest'
name: Install MinGW-w64/GCC/G++
run: sudo apt-get install mingw-w64 gcc-multilib g++-multilib
- name: Build [${{ matrix.type }}]
uses: eskatos/gradle-command-action@v1
with:
arguments: :imgui-binding:generateLibs -Denvs=${{ matrix.type }} -Dlocal
- name: Check [${{ matrix.expected }}]
uses: andstor/file-existence-action@v1
with:
files: ${{ matrix.expected }}