mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +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
|
||||
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:
|
||||
name: Build Java
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -114,7 +114,7 @@ matrix:
|
||||
-DFLATBUFFERS_CODE_SANITIZE=ON
|
||||
- cmake --build . --target all --clean-first -- -j${JOBS}
|
||||
- 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
|
||||
os: osx
|
||||
@@ -134,7 +134,7 @@ matrix:
|
||||
-DFLATBUFFERS_CODE_SANITIZE=ON
|
||||
- cmake --build . -- -j${JOBS}
|
||||
- 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
|
||||
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`
|
||||
|
||||
cd ../..
|
||||
@@ -6,7 +24,17 @@ main_dir=`pwd`
|
||||
|
||||
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"
|
||||
|
||||
# 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
|
||||
|
||||
echo "Check generated code"
|
||||
.travis/check-generate-code.sh
|
||||
scripts/check-generate-code.sh
|
||||
echo "Done"
|
||||
|
||||
@@ -15,6 +15,6 @@ cmake --build . --target all --clean-first -- -j$JOBS
|
||||
ctest --extra-verbose --output-on-failure -j$JOBS
|
||||
|
||||
echo "Check generated code"
|
||||
.travis/check-generate-code.sh
|
||||
scripts/check-generate-code.sh
|
||||
|
||||
echo "C++ tests done"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/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");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
||||
Reference in New Issue
Block a user