197 lines
5.5 KiB
YAML
197 lines
5.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-linux:
|
|
name: Build Linux
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
cxx: [g++-9, clang++-9]
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: cmake
|
|
run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .
|
|
- name: build
|
|
run: make -j4
|
|
- name: test
|
|
run: ./flattests
|
|
- name: upload build artifacts
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Linux flatc binary ${{ matrix.cxx }}
|
|
path: flatc
|
|
|
|
build-windows:
|
|
name: Build Windows
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
- name: cmake
|
|
run: cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=Release .
|
|
- name: build
|
|
run: msbuild.exe FlatBuffers.sln /p:Configuration=Release /p:Platform=x64
|
|
- name: test
|
|
run: Release\flattests.exe
|
|
- name: upload build artifacts
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Windows flatc binary
|
|
path: Release\flatc.exe
|
|
|
|
build-windows-2017:
|
|
name: Build Windows 2017
|
|
runs-on: windows-2016
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
- name: cmake
|
|
run: cmake -G "Visual Studio 15 2017" -A x64 -DCMAKE_BUILD_TYPE=Release .
|
|
- name: build
|
|
run: msbuild.exe FlatBuffers.sln /p:Configuration=Release /p:Platform=x64
|
|
- name: test
|
|
run: Release\flattests.exe
|
|
|
|
build-mac:
|
|
name: Build Mac
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: cmake
|
|
run: cmake -G "Xcode" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_FLATC_EXECUTABLE=_build/Release/flatc .
|
|
- name: build
|
|
# NOTE: we need this _build dir to not have xcodebuild's default ./build dir clash with the BUILD file.
|
|
run: xcodebuild -toolchain clang -configuration Release -target flattests SYMROOT=$(PWD)/_build
|
|
- name: test
|
|
run: _build/Release/flattests
|
|
- name: upload build artifacts
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Mac flatc binary
|
|
path: _build/Release/flatc
|
|
|
|
build-android:
|
|
name: Build Android (on Linux)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: set up JDK 1.8
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 1.8
|
|
- name: set up flatc
|
|
run: |
|
|
cmake -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF .
|
|
make
|
|
echo "${PWD}" >> $GITHUB_PATH
|
|
- name: build
|
|
working-directory: android
|
|
run: bash ./gradlew clean build
|
|
|
|
build-java:
|
|
name: Build Java
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: test
|
|
working-directory: tests
|
|
run: bash JavaTest.sh
|
|
|
|
build-rust:
|
|
name: Build Rust
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: test
|
|
working-directory: tests
|
|
run: bash RustTest.sh
|
|
|
|
#build-js:
|
|
# name: Build JS
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: actions/checkout@v1
|
|
# - name: flatc
|
|
# # FIXME: make test script not rely on flatc
|
|
# run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j4
|
|
# - name: test
|
|
# working-directory: tests
|
|
# run: bash JavaScriptTest.sh
|
|
|
|
#build-ts:
|
|
# name: Build TS
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: actions/checkout@v1
|
|
# - name: flatc
|
|
# # FIXME: make test script not rely on flatc
|
|
# run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j4
|
|
# - name: test
|
|
# working-directory: tests
|
|
# run: bash TypeScriptTest.sh
|
|
|
|
build-python:
|
|
name: Build Python
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: test
|
|
working-directory: tests
|
|
run: bash PythonTest.sh
|
|
|
|
#build-go:
|
|
# name: Build Go
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: actions/checkout@v1
|
|
# - name: flatc
|
|
# # FIXME: make test script not rely on flatc
|
|
# run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j4
|
|
# - name: test
|
|
# working-directory: tests
|
|
# run: bash GoTest.sh
|
|
|
|
#build-csharp:
|
|
# name: Build CSharp
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: actions/checkout@v1
|
|
# - name: test
|
|
# working-directory: tests/FlatBuffers.Test
|
|
# run: bash NetTest.sh
|
|
|
|
build-php:
|
|
name: Build PHP
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: flatc
|
|
# FIXME: make test script not rely on flatc
|
|
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j4
|
|
- name: test
|
|
working-directory: tests
|
|
run: |
|
|
php phpTest.php
|
|
sh phpUnionVectorTest.sh
|
|
|
|
build-swift:
|
|
name: Build Swift
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: test
|
|
working-directory: tests/FlatBuffers.Test.Swift
|
|
run: sh SwiftTest.sh
|
|
|
|
|