[CI] Adds Code Generation tests on Github Actions (#6482)

Moves check-grpc-generation to scripts
This commit is contained in:
mustiikhalil
2021-02-23 08:51:39 +03:00
committed by GitHub
parent 1da6f4f18b
commit ffc2ef77ca
8 changed files with 79 additions and 6 deletions

View File

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

View File

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

View File

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

View 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

View File

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

View File

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

View File

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