name: Staleness tests on: schedule: # Run daily at 10 AM UTC (2 AM PDT) - cron: 0 10 * * * workflow_call: inputs: safe-checkout: required: false description: "The SHA key for the commit we want to run over" type: string workflow_dispatch: permissions: {} jobs: test: strategy: fail-fast: false matrix: branch: [main, 22.x, 23.x] os: [{ name: Linux, value: ubuntu-latest}] name: Test staleness ${{ matrix.os.name }} ${{ matrix.branch}} runs-on: ${{ matrix.os.value }} if: ${{ github.event.repository.full_name == 'protocolbuffers/protobuf' }} steps: - name: Checkout ${{ matrix.branch }} uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 with: ref: ${{ inputs.safe-checkout || matrix.branch}} # For commit-based tests, simply run the bazel query to make sure it works. This should be # identical to the step below, except for the xargs piece that runs bazel test. - name: Check that staleness tests are queryable if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' || github.event_name == 'push' }} uses: protocolbuffers/protobuf-ci/bazel-docker@v1 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.0.0-6361b3a6e5c97e9951d03a4de28542fc45f1adab credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: staleness_check/${{ matrix.branch}}_${{ matrix.os.value }} bash: bazel query 'attr(tags, "staleness_test", //...)' - name: Run all staleness tests if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' && github.event_name != 'push' }} uses: protocolbuffers/protobuf-ci/bazel-docker@v1 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.0.0-6361b3a6e5c97e9951d03a4de28542fc45f1adab credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: staleness_check/${{ matrix.branch}}_${{ matrix.os.value }} bash: bazel query 'attr(tags, "staleness_test", //...)' | xargs bazel test $BAZEL_FLAGS