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-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 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