diff options
-rw-r--r-- | .github/workflows/build.yml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..270ffbc9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,88 @@ +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.0 + - 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-mac: + name: Build Mac + runs-on: macos-latest + steps: + - uses: actions/checkout@v1 + - name: cmake + run: cmake -G "Xcode" -DCMAKE_BUILD_TYPE=Release . + - name: build + run: xcodebuild -toolchain clang -configuration Release -target flattests + - name: test + run: Release/flattests + - name: upload build artifacts + uses: actions/upload-artifact@v1 + with: + name: Mac flatc binary + path: Release/flatc + + +# FIXME: to make this work, this apparently needs: +# - a newer version of gradle in build.gradle (e.g. 3.2.1) +# - google() in the repos in build.gradle +# - gradle version 4.6 in gradle-wrapper.properties ? +# - some kind of flavor declaration? +# All while not breaking the existing Travis Android build. +# good luck. + +# 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: build +# working-directory: android +# run: bash ./gradlew buildDebug |