|
|
|
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:
|
|
|
|
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
|