2a6a8e635c
* chore: migrate GitHub workflows from Buildjet to Blacksmith - Replace buildjet-*vcpu-ubuntu-2204 runners with blacksmith-*vcpu-ubuntu-2204 - Replace buildjet/cache@v4 with actions/cache@v4 - Replace buildjet/setup-node@v4 with actions/setup-node@v4 - Replace buildjet/cache-delete@v1 with useblacksmith/cache-delete@v1 - Rename delete-buildjet-cache.yml to delete-blacksmith-cache.yml Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * chore: bump Blacksmith runners to Ubuntu 24.04 Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * Reduce 16vcpu to 4vcpu for the API v2 E2E * Remove 8vcpu usage * chore: switch Blacksmith runners to ARM architecture Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * chore: switch Blacksmith runners back to AMD (remove -arm suffix) Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * fix: improve test cleanup to cover all bookings including reassignment-created ones - Changed afterEach cleanup to find all bookings by eventTypeId instead of tracking bookingIds - This ensures bookings created indirectly by managedEventManualReassignment are also cleaned up - Removed problematic prefix-based deleteMany calls that could affect parallel tests - Fixes idempotencyKey collision errors on high-parallelism CI runners Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * fix: improve icons screenshot test stability with deviceScaleFactor and increased threshold Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * fix: cap Playwright workers to 4 to match vCPU allocation on Blacksmith runners Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
49 lines
1.9 KiB
YAML
49 lines
1.9 KiB
YAML
name: Cache database between jobs
|
|
description: "Cache or restore if necessary"
|
|
inputs:
|
|
DATABASE_URL:
|
|
required: false
|
|
default: "postgresql://postgres:postgres@localhost:5432/calendso"
|
|
path:
|
|
required: false
|
|
default: "backups/backup.sql"
|
|
COMMIT_SHA:
|
|
required: false
|
|
default: ""
|
|
description: "Commit SHA to include in cache key (passed from workflow)"
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Cache database
|
|
id: cache-db
|
|
uses: actions/cache@v4
|
|
env:
|
|
cache-name: cache-db
|
|
key-1: ${{ hashFiles('packages/prisma/schema.prisma', 'packages/prisma/migrations/**/**.sql', 'packages/prisma/*.ts') }}
|
|
key-2: ${{ github.event.pull_request.number || github.ref }}
|
|
key-3: ${{ inputs.COMMIT_SHA || github.event.pull_request.head.sha || github.sha }}
|
|
DATABASE_URL: ${{ inputs.DATABASE_URL }}
|
|
DATABASE_DIRECT_URL: ${{ inputs.DATABASE_URL }}
|
|
E2E_TEST_CALCOM_QA_EMAIL: ${{ inputs.E2E_TEST_CALCOM_QA_EMAIL }}
|
|
E2E_TEST_CALCOM_QA_PASSWORD: ${{ inputs.E2E_TEST_CALCOM_QA_PASSWORD }}
|
|
E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS: ${{ inputs.E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS }}
|
|
with:
|
|
path: ${{ inputs.path }}
|
|
key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}
|
|
- run: yarn db-seed
|
|
if: steps.cache-db.outputs.cache-hit != 'true'
|
|
shell: bash
|
|
- name: Postgres Dump Backup
|
|
if: steps.cache-db.outputs.cache-hit != 'true'
|
|
uses: tj-actions/pg-dump@v2.3
|
|
with:
|
|
database_url: ${{ inputs.DATABASE_URL }}
|
|
path: ${{ inputs.path }}
|
|
options: "-O"
|
|
- name: Postgres Backup Restore
|
|
if: steps.cache-db.outputs.cache-hit == 'true'
|
|
uses: tj-actions/pg-restore@v4.5
|
|
with:
|
|
database_url: ${{ inputs.DATABASE_URL }}
|
|
backup_file: ${{ inputs.path }}
|