name: Rust Tests

on:
  workflow_call:
    inputs:
      safe-checkout:
        required: true
        description: "The SHA key for the commit we want to run over"
        type: string

permissions:
  contents: read

jobs:
  linux:
    name: Linux
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v3
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        uses: protocolbuffers/protobuf-ci/bazel-docker@v3
        with:
          image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.1-97f82260fd504923d8af642d567afb2d83a1959d"
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-cache: rust_linux
          bazel: >-
            test --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --copt="-Wno-return-type-c-linkage"
            //rust:protobuf_upb_test //rust:protobuf_cpp_test
            //rust/test/rust_proto_library_unit_test:rust_upb_aspect_test
            //src/google/protobuf/compiler/rust/...
