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