From 6624659e01e73e41527d6b27036e9f79a556560f Mon Sep 17 00:00:00 2001 From: Derek Mauro <761129+derekmauro@users.noreply.github.com> Date: Mon, 9 Sep 2024 14:23:51 -0400 Subject: [PATCH] Add GitHub Actions CI (#299) --- .github/workflows/ci.yaml | 135 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..7c44312 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,135 @@ +name: ci + +on: + push: + pull_request: + +env: + BAZEL_CXXOPTS: -std=c++14 + +jobs: + Linux-GCC: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Tests + run: > + bazel test ... + --copt=-DGTEST_REMOVE_LEGACY_TEST_CASEAPI_=1 + --copt=-Werror + --cxxopt=-Wall + --cxxopt=-Wextra + --cxxopt=-Wcast-qual + --cxxopt=-Wconversion-null + --cxxopt=-Wformat-security + --cxxopt=-Wmissing-declarations + --cxxopt=-Wnon-virtual-dtor + --cxxopt=-Woverlength-strings + --cxxopt=-Wpointer-arith + --cxxopt=-Wundef + --cxxopt=-Wunused-local-typedefs + --cxxopt=-Wunused-result + --cxxopt=-Wvarargs + --cxxopt=-Wvla + --cxxopt=-Wwrite-strings + --cxxopt=-Wno-missing-declarations + --cxxopt=-Wno-undef + --features=external_include_paths + --keep_going + --show_timestamps + --test_env="TZDIR=${GITHUB_WORKSPACE}/testdata/zoneinfo" + --test_output=errors + --test_tag_filters=-benchmark + + Linux-Clang: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Tests + run: > + bazel test ... + --action_env=CC=clang + --copt=-DGTEST_REMOVE_LEGACY_TEST_CASEAPI_=1 + --copt=-Werror + --cxxopt=-Wall + --cxxopt=-Wextra + --cxxopt=-Wc++98-compat-extra-semi + --cxxopt=-Wcast-qual + --cxxopt=-Wconversion + --cxxopt=-Wdeprecated-pragma + --cxxopt=-Wfloat-overflow-conversion + --cxxopt=-Wfloat-zero-conversion + --cxxopt=-Wfor-loop-analysis + --cxxopt=-Wformat-security + --cxxopt=-Wgnu-redeclared-enum + --cxxopt=-Winfinite-recursion + --cxxopt=-Winvalid-constexpr + --cxxopt=-Wliteral-conversion + --cxxopt=-Wmissing-declarations + --cxxopt=-Woverlength-strings + --cxxopt=-Wpointer-arith + --cxxopt=-Wself-assign + --cxxopt=-Wshadow-all + --cxxopt=-Wshorten-64-to-32 + --cxxopt=-Wsign-conversion + --cxxopt=-Wstring-conversion + --cxxopt=-Wtautological-overlap-compare + --cxxopt=-Wtautological-unsigned-zero-compare + --cxxopt=-Wuninitialized + --cxxopt=-Wunreachable-code + --cxxopt=-Wunused-comparison + --cxxopt=-Wunused-local-typedefs + --cxxopt=-Wunused-result + --cxxopt=-Wvla + --cxxopt=-Wwrite-strings + --cxxopt=-Wno-unknown-warning-option + --cxxopt=-Wno-undef + --features=external_include_paths + --keep_going + --show_timestamps + --test_env="TZDIR=${GITHUB_WORKSPACE}/testdata/zoneinfo" + --test_output=errors + --test_tag_filters=-benchmark + + macOS: + runs-on: macos-latest + steps: + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Tests + run: > + bazel test ... + --features=external_include_paths + --keep_going + --show_timestamps + --test_env="TZDIR=${GITHUB_WORKSPACE}/testdata/zoneinfo" + --test_output=errors + --test_tag_filters=-benchmark + + Windows: + runs-on: windows-latest + steps: + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Tests + run: > + bazel test ... + --keep_going + --show_timestamps + --test_env="TZDIR=$env:GITHUB_WORKSPACE\testdata\zoneinfo" + --test_output=errors + --test_tag_filters=-benchmark