mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-22 20:58:53 +00:00
[CI] Adds Code Generation tests on Github Actions (#6482)
Moves check-grpc-generation to scripts
This commit is contained in:
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
@@ -98,6 +98,19 @@ jobs:
|
|||||||
working-directory: android
|
working-directory: android
|
||||||
run: bash ./gradlew clean build
|
run: bash ./gradlew clean build
|
||||||
|
|
||||||
|
build-generator:
|
||||||
|
name: Check Generated Code
|
||||||
|
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" -DFLATBUFFERS_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release . && make -j4
|
||||||
|
- name: Generate
|
||||||
|
run: bash scripts/check-generate-code.sh && bash scripts/check-grpc-generated-code.sh
|
||||||
|
|
||||||
build-java:
|
build-java:
|
||||||
name: Build Java
|
name: Build Java
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ matrix:
|
|||||||
-DFLATBUFFERS_CODE_SANITIZE=ON
|
-DFLATBUFFERS_CODE_SANITIZE=ON
|
||||||
- cmake --build . --target all --clean-first -- -j${JOBS}
|
- cmake --build . --target all --clean-first -- -j${JOBS}
|
||||||
- LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
- LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
||||||
- bash .travis/check-generate-code.sh
|
- bash scripts/check-generate-code.sh
|
||||||
|
|
||||||
- language: cpp
|
- language: cpp
|
||||||
os: osx
|
os: osx
|
||||||
@@ -134,7 +134,7 @@ matrix:
|
|||||||
-DFLATBUFFERS_CODE_SANITIZE=ON
|
-DFLATBUFFERS_CODE_SANITIZE=ON
|
||||||
- cmake --build . -- -j${JOBS}
|
- cmake --build . -- -j${JOBS}
|
||||||
- DYLD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
- DYLD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
||||||
- bash .travis/check-generate-code.sh
|
- bash scripts/check-generate-code.sh
|
||||||
|
|
||||||
- <<: *conan-linux-master
|
- <<: *conan-linux-master
|
||||||
env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8
|
env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8
|
||||||
|
|||||||
@@ -1,3 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright 2021 Google Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
current_dir=`pwd`
|
current_dir=`pwd`
|
||||||
|
|
||||||
cd ../..
|
cd ../..
|
||||||
@@ -6,7 +24,17 @@ main_dir=`pwd`
|
|||||||
|
|
||||||
cd ${current_dir}
|
cd ${current_dir}
|
||||||
|
|
||||||
alias fbc='${main_dir}/Debug/flatc'
|
# Looks for flatc within the root dir & debug
|
||||||
|
if [ -e ${main_dir}/flatc ]; then
|
||||||
|
alias fbc='${main_dir}/flatc'
|
||||||
|
elif [ -e ${main_dir}/Debug/flatc ]; then
|
||||||
|
alias fbc='${main_dir}/Debug/flatc'
|
||||||
|
else
|
||||||
|
echo 'flatc' could not be found. Make sure to build FlatBuffers from the \
|
||||||
|
$rootdir directory.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
generator="--grpc $current_dir/greeter.fbs"
|
generator="--grpc $current_dir/greeter.fbs"
|
||||||
|
|
||||||
# Regenerate Go lang code
|
# Regenerate Go lang code
|
||||||
|
|||||||
32
scripts/check-grpc-generated-code.sh
Normal file
32
scripts/check-grpc-generated-code.sh
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright 2021 Google Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Checks generated grpc code"
|
||||||
|
cd grpc/examples
|
||||||
|
sh generate.sh
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
if ! git diff --quiet; then
|
||||||
|
echo >&2
|
||||||
|
echo "ERROR: ********************************************************" >&2
|
||||||
|
echo "ERROR: The following differences were found after running the" >&2
|
||||||
|
echo "ERROR: grpc/example/generate.sh script. Maybe you forgot to run" >&2
|
||||||
|
echo "ERROR: it after making changes in a generator or schema?" >&2
|
||||||
|
echo "ERROR: ********************************************************" >&2
|
||||||
|
echo >&2
|
||||||
|
git diff --binary --exit-code
|
||||||
|
fi
|
||||||
@@ -11,5 +11,5 @@ cmake . -DCMAKE_BUILD_TYPE=$config \
|
|||||||
cmake --build . --target flatc --clean-first -- -j$JOBS
|
cmake --build . --target flatc --clean-first -- -j$JOBS
|
||||||
|
|
||||||
echo "Check generated code"
|
echo "Check generated code"
|
||||||
.travis/check-generate-code.sh
|
scripts/check-generate-code.sh
|
||||||
echo "Done"
|
echo "Done"
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ cmake --build . --target all --clean-first -- -j$JOBS
|
|||||||
ctest --extra-verbose --output-on-failure -j$JOBS
|
ctest --extra-verbose --output-on-failure -j$JOBS
|
||||||
|
|
||||||
echo "Check generated code"
|
echo "Check generated code"
|
||||||
.travis/check-generate-code.sh
|
scripts/check-generate-code.sh
|
||||||
|
|
||||||
echo "C++ tests done"
|
echo "C++ tests done"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright 2015 Google Inc. All rights reserved.
|
# Copyright 2021 Google Inc. All rights reserved.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
|||||||
Reference in New Issue
Block a user