diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0495461..581c559 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ on: branches: [ master ] workflow_dispatch: jobs: - build: + cmake-build: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] @@ -39,3 +39,24 @@ jobs: - name: Test shell: bash run: cd build && ctest --output-on-failure + + bazel-build: + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + + - name: Build + shell: bash + run: | + cd "${{ github.workspace }}" + bazel build :all + + - name: Test + shell: bash + run: | + cd "${{ github.workspace }}" + bazel test test + diff --git a/BUILD.bazel b/BUILD.bazel index b0b9016..23e847e 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,3 +1,9 @@ +yaml_cpp_defines = select({ + # On Windows, ensure static linking is used. + "@platforms//os:windows": ["YAML_CPP_STATIC_DEFINE", "YAML_CPP_NO_CONTRIB"], + "//conditions:default": [], +}) + cc_library( name = "yaml-cpp_internal", visibility = ["//:__subpackages__"], @@ -11,4 +17,5 @@ cc_library( includes = ["include"], hdrs = glob(["include/**/*.h"]), srcs = glob(["src/**/*.cpp", "src/**/*.h"]), + defines = yaml_cpp_defines, )