name: "Setup Bazel Caching" description: "Sets up Bazel caching" inputs: cache_url: description: "URL of the Bazel cache to read/write" required: false default: https://storage.googleapis.com/protobuf-bazel-cache/upb read_only: description: "If true, we can read from the cache but not write it." required: false default: ${{ github.event.pull_request.head.repo.full_name != 'protocolbuffers/upb' }} outputs: cache_args: description: "Caching related arguments to pass to 'bazel build" value: --remote_cache=${{ inputs.cache_url }} ${{ steps.set_auth_arg.outputs.auth_arg }} runs: using: "composite" steps: - id: set_auth_arg run: echo auth_arg=${{ inputs.read_only == 'true' && '--remote_upload_local_results=false' || '--google_default_credentials' }} >> $GITHUB_OUTPUT shell: bash