diff options
author | mustiikhalil <mustii@mmk.one> | 2021-02-23 08:51:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-23 08:51:39 +0300 |
commit | ffc2ef77caeb6b04e89db952c65216982db44698 (patch) | |
tree | 7b9b5772cab1ee003c73ca2c0a23f8c78c8be5cf | |
parent | 1da6f4f18bdc7f47cd84f58a427835f2b790cb29 (diff) | |
download | flatbuffers-ffc2ef77caeb6b04e89db952c65216982db44698.tar.gz flatbuffers-ffc2ef77caeb6b04e89db952c65216982db44698.tar.bz2 flatbuffers-ffc2ef77caeb6b04e89db952c65216982db44698.zip |
[CI] Adds Code Generation tests on Github Actions (#6482)
Moves check-grpc-generation to scripts
-rw-r--r-- | .github/workflows/build.yml | 13 | ||||
-rw-r--r-- | .travis.yml | 4 | ||||
-rw-r--r-- | grpc/examples/generate.sh | 30 | ||||
-rwxr-xr-x | scripts/check-generate-code.sh (renamed from .travis/check-generate-code.sh) | 0 | ||||
-rw-r--r-- | scripts/check-grpc-generated-code.sh | 32 | ||||
-rwxr-xr-x | tests/docker/build_flatc.run.sh | 2 | ||||
-rwxr-xr-x | tests/docker/cpp_test.run.sh | 2 | ||||
-rwxr-xr-x | tests/generate_code.sh | 2 |
8 files changed, 79 insertions, 6 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a8c9e16..7b01c98a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/.travis.yml b/.travis.yml index fb174fcf..c3c13465 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/grpc/examples/generate.sh b/grpc/examples/generate.sh index 0d2a900d..0ac2818a 100644 --- a/grpc/examples/generate.sh +++ b/grpc/examples/generate.sh @@ -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 diff --git a/.travis/check-generate-code.sh b/scripts/check-generate-code.sh index 1f2d84d4..1f2d84d4 100755 --- a/.travis/check-generate-code.sh +++ b/scripts/check-generate-code.sh diff --git a/scripts/check-grpc-generated-code.sh b/scripts/check-grpc-generated-code.sh new file mode 100644 index 00000000..4541be16 --- /dev/null +++ b/scripts/check-grpc-generated-code.sh @@ -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 diff --git a/tests/docker/build_flatc.run.sh b/tests/docker/build_flatc.run.sh index c8885b19..3473765b 100755 --- a/tests/docker/build_flatc.run.sh +++ b/tests/docker/build_flatc.run.sh @@ -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" diff --git a/tests/docker/cpp_test.run.sh b/tests/docker/cpp_test.run.sh index fa3b0fb1..e05b74da 100755 --- a/tests/docker/cpp_test.run.sh +++ b/tests/docker/cpp_test.run.sh @@ -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" diff --git a/tests/generate_code.sh b/tests/generate_code.sh index baa70e72..45c7ccd9 100755 --- a/tests/generate_code.sh +++ b/tests/generate_code.sh @@ -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. |