name: Bazel CI on: [push, pull_request] jobs: build: name: Bazel on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - name: Checkout source uses: actions/checkout@v3 - name: Generate German locale on Ubuntu if: runner.os == 'Linux' run: | sudo apt-get remove -y --purge man-db # avoid time-consuming trigger sudo apt-get update sudo apt-get install -y locales sudo locale-gen de_DE.UTF-8 # used by SerializerTest - name: Install telegraf on Ubuntu if: runner.os == 'Linux' run: | sudo apt-get install -y telegraf - name: Install telegraf on macOS if: runner.os == 'macOS' run: brew install telegraf - name: Build with SSL (without bzlmod) if: runner.os != 'macOS' run: bazel build --noenable_bzlmod --config=ssl //... - name: Build with SSL if: runner.os != 'macOS' run: bazel build --enable_bzlmod --config=ssl //... - name: Test with SSL if: runner.os != 'macOS' run: bazel test --enable_bzlmod --config=ssl --test_output=all //... - name: Build run: bazel build --enable_bzlmod //... - name: Test run: bazel test --enable_bzlmod --test_output=all //... - name: Scraping Test if: runner.os != 'Windows' run: bazel test --enable_bzlmod --test_output=all //pull/tests/integration:scrape-test