mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-08 22:20:56 +00:00
* tests/GoTest.sh: Fix flags.Parse location to work on new go SDKs. Calling flags.Parse() within init() races with other packages which register flags in their init(), and in particular with the testing package itself. It is more reliable to call flags.Parse() from a TestMain implementation. See https://github.com/golang/go/issues/31859, https://github.com/golang/go/issues/33869. * .github: Enable build-go action in build.yaml workflow.
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
|
|
|
|
|