name: CI (Bazel)
on:
  push:
    branches: [main, rsc-testing]
permissions:
  contents: read
jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
        ver: ['3.10', '3.11', '3.12', '3.13', '3.14']
    env:
      BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - uses: actions/checkout@v4.2.2
      - uses: bazel-contrib/setup-bazel@0.15.0
        with:
          bazelisk-version: '1.x'
      - uses: actions/setup-python@v5.6.0
        with:
          python-version: ${{ matrix.ver }}
      - name: Prepare Python ${{ matrix.ver }} environment
        run: |
          python -m pip install --upgrade pip
          python -m pip install --upgrade absl-py mypy
          python python/toolchains/generate.py
        shell: bash
      - run: .github/bazel.sh
        shell: bash
      # TODO(junyer): Run mypy as per https://github.com/google/re2/issues/496.
