Add lifecycle_type backfill clock job #9301
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Unit Tests | |
| concurrency: | |
| group: '${{ github.workflow }}-${{ github.head_ref || github.run_id }}' | |
| cancel-in-progress: true | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| rspec_profile: | |
| description: 'Top N slowest examples to print (rspec --profile), e.g. 20. Leave blank to disable.' | |
| required: false | |
| default: '' | |
| pull_request: | |
| branches: [ main ] | |
| paths-ignore: | |
| - 'docs/**' | |
| - 'decisions/**' | |
| - '.github/workflows/docs_test.yml' | |
| push: | |
| branches: [ main ] | |
| paths-ignore: | |
| - 'docs/**' | |
| - 'decisions/**' | |
| - '.github/workflows/docs_test.yml' | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| jobs: | |
| Rubocop: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: hmarr/debug-action@v3 | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/workflows/composite/setup | |
| - name: Run Rubocop | |
| run: bundle exec rake rubocop | |
| - uses: ravsamhq/notify-slack-action@v2 | |
| if: github.event_name == 'push' | |
| with: | |
| status: ${{ job.status }} | |
| notify_when: 'failure' # default is 'success,failure,warnings' | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required | |
| Test-Postgres: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| image: ["postgres:14", "postgres:15", "postgres:17"] | |
| services: | |
| postgres: | |
| image: ${{ matrix.image }} | |
| env: | |
| POSTGRES_PASSWORD: rootpassword | |
| # Test-only durability tuning: skip the work that backs durability. | |
| command: >- | |
| postgres | |
| -c fsync=off | |
| -c synchronous_commit=off | |
| -c full_page_writes=off | |
| options: >- | |
| --tmpfs /var/lib/postgresql/data:rw,size=2g | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - uses: hmarr/debug-action@v3 | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/workflows/composite/setup | |
| - name: Restore parallel_rspec runtime logs | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: tmp/parallel_runtime_rspec_*.log | |
| key: parallel-runtime-postgres-${{ matrix.image }}-${{ github.run_id }} | |
| restore-keys: | | |
| parallel-runtime-postgres-${{ matrix.image }}- | |
| parallel-runtime-postgres- | |
| - name: Run tests | |
| run: DB=postgres POSTGRES_CONNECTION_PREFIX="postgres://postgres:rootpassword@localhost:5432" RSPEC_PROFILE="${{ inputs.rspec_profile }}" bundle exec rake spec | |
| - name: Save parallel_rspec runtime logs | |
| if: always() | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: tmp/parallel_runtime_rspec_*.log | |
| key: parallel-runtime-postgres-${{ matrix.image }}-${{ github.run_id }} | |
| - uses: ravsamhq/notify-slack-action@v2 | |
| if: github.event_name == 'push' | |
| with: | |
| status: ${{ job.status }} | |
| notify_when: 'failure' # default is 'success,failure,warnings' | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required | |
| Test-Mysql: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| image: ["mysql:8.0", "mysql:8.2"] | |
| services: | |
| mysql: | |
| image: ${{ matrix.image }} | |
| env: | |
| MYSQL_DATABASE: cc_test | |
| MYSQL_ROOT_PASSWORD: password | |
| # Test-only durability tuning: skip the redo/binlog/doublewrite work. | |
| command: >- | |
| --innodb-flush-log-at-trx-commit=0 | |
| --sync-binlog=0 | |
| --innodb-doublewrite=OFF | |
| options: >- | |
| --tmpfs /var/lib/mysql:rw,size=2g | |
| --health-cmd="mysqladmin ping" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=3 | |
| ports: | |
| - 3306:3306 | |
| steps: | |
| - uses: hmarr/debug-action@v3 | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/workflows/composite/setup | |
| - name: Restore parallel_rspec runtime logs | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: tmp/parallel_runtime_rspec_*.log | |
| key: parallel-runtime-mysql-${{ matrix.image }}-${{ github.run_id }} | |
| restore-keys: | | |
| parallel-runtime-mysql-${{ matrix.image }}- | |
| parallel-runtime-mysql- | |
| - name: Run tests | |
| run: DB=mysql MYSQL_CONNECTION_PREFIX="mysql2://root:password@127.0.0.1:3306" RSPEC_PROFILE="${{ inputs.rspec_profile }}" bundle exec rake spec | |
| - name: Save parallel_rspec runtime logs | |
| if: always() | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: tmp/parallel_runtime_rspec_*.log | |
| key: parallel-runtime-mysql-${{ matrix.image }}-${{ github.run_id }} | |
| - uses: ravsamhq/notify-slack-action@v2 | |
| if: github.event_name == 'push' | |
| with: | |
| status: ${{ job.status }} | |
| notify_when: 'failure' # default is 'success,failure,warnings' | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required |