diff --git a/.github/workflows/staleness_check.yml b/.github/workflows/staleness_check.yml index f04621ed1540..40c041ae942f 100644 --- a/.github/workflows/staleness_check.yml +++ b/.github/workflows/staleness_check.yml @@ -4,6 +4,12 @@ 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: {} @@ -12,20 +18,32 @@ jobs: strategy: fail-fast: false matrix: - branch: [main, 22.x] + 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' || matrix.branch == 'main '}} + if: ${{ github.event.repository.full_name == 'protocolbuffers/protobuf' }} steps: - name: Checkout ${{ matrix.branch }} uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 with: - ref: ${{ matrix.branch}} + 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 != 'schedule' && github.event_name != 'workflow_call'}} + 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 - uses: protocolbuffers/protobuf-ci/bazel@v1 + if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_call' }} + uses: protocolbuffers/protobuf-ci/bazel-docker@v1 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: staleness_check/${{ matrix.branch}}_${{ matrix.os.value }} diff --git a/.github/workflows/test_runner.yml b/.github/workflows/test_runner.yml index f55d63cac329..58fcd3150bc1 100644 --- a/.github/workflows/test_runner.yml +++ b/.github/workflows/test_runner.yml @@ -169,3 +169,11 @@ jobs: with: safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }} secrets: inherit + + staleness: + name: Staleness + needs: [check-tag] + uses: ./.github/workflows/staleness_check.yml + with: + safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }} + secrets: inherit