diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 0000000000..c7004fafb0 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,49 @@ +name: "Set environment variables" +description: "Configures environment variables for a workflow" +inputs: + DATABASE_URL: + required: false + default: "postgresql://postgres:@localhost:5432/calendso" + path: + required: false + default: "backups/backup.sql" +runs: + using: "composite" + steps: + - name: Create env file + uses: actions/cache@v3 + id: env-cache + with: + path: gh.env + key: env-cache-${{ hashFiles('gh.env') }} + restore-keys: env-cache- + - name: Set Environment Variables + uses: tw3lveparsecs/github-actions-setvars@latest + with: + envFilePath: gh.env + - name: Cache database + id: cache-db + uses: actions/cache@v3 + 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 }} + with: + path: ${{ inputs.path }} + key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ env.key-1 }}-${{ env.key-2 }} + - 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 }} diff --git a/.github/workflows/check-types.yml b/.github/workflows/check-types.yml index ec165d261b..feb3e29865 100644 --- a/.github/workflows/check-types.yml +++ b/.github/workflows/check-types.yml @@ -9,7 +9,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - name: Show info run: node -e "console.log(require('v8').getHeapStatistics())" diff --git a/.github/workflows/e2e-app-store.yml b/.github/workflows/e2e-app-store.yml index e3d883bb9e..8542ba8afe 100644 --- a/.github/workflows/e2e-app-store.yml +++ b/.github/workflows/e2e-app-store.yml @@ -20,10 +20,8 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - run: echo 'NODE_OPTIONS="--max_old_space_size=4096"' >> $GITHUB_ENV - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - uses: ./.github/actions/yarn-playwright-install - - uses: ./.github/actions/cache-db - - uses: ./.github/actions/env-read-file - uses: ./.github/actions/cache-build - name: Run Tests run: yarn test-e2e:app-store diff --git a/.github/workflows/e2e-embed.yml b/.github/workflows/e2e-embed.yml index db1f6707aa..670ae6aff8 100644 --- a/.github/workflows/e2e-embed.yml +++ b/.github/workflows/e2e-embed.yml @@ -19,10 +19,8 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - run: echo 'NODE_OPTIONS="--max_old_space_size=4096"' >> $GITHUB_ENV - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - uses: ./.github/actions/yarn-playwright-install - - uses: ./.github/actions/cache-db - - uses: ./.github/actions/env-read-file - uses: ./.github/actions/cache-build - name: Run Tests run: yarn turbo run embed-tests-update-snapshots:ci --scope=@calcom/embed-react --concurrency=1 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c77054f275..18ea9c58d0 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -18,10 +18,8 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - run: echo 'NODE_OPTIONS="--max_old_space_size=4096"' >> $GITHUB_ENV - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - uses: ./.github/actions/yarn-playwright-install - - uses: ./.github/actions/cache-db - - uses: ./.github/actions/env-read-file - uses: ./.github/actions/cache-build - name: Run Tests run: yarn test-e2e diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2c2d5ebc69..bd86df911a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - name: Save Code Linting Reports run: yarn lint:report continue-on-error: true diff --git a/.github/workflows/nextjs-bundle-analysis.yml b/.github/workflows/nextjs-bundle-analysis.yml index e5586be406..0625b8b42b 100644 --- a/.github/workflows/nextjs-bundle-analysis.yml +++ b/.github/workflows/nextjs-bundle-analysis.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup - uses: ./.github/actions/cache-build - name: Analyze bundle run: | diff --git a/.github/workflows/production-build.yml b/.github/workflows/production-build.yml index 5b90ba7bde..8cd147f8e7 100644 --- a/.github/workflows/production-build.yml +++ b/.github/workflows/production-build.yml @@ -18,7 +18,5 @@ jobs: - 5432:5432 steps: - uses: actions/checkout@v3 - - uses: ./.github/actions/yarn-install - - uses: ./.github/actions/env-read-file - - uses: ./.github/actions/cache-db + - uses: ./.github/actions/setup - uses: ./.github/actions/cache-build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e71506689f..d1cb1885b7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,6 +12,6 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - run: echo 'NODE_OPTIONS="--max_old_space_size=6144"' >> $GITHUB_ENV - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup # Should be an 8GB machine as per https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners - run: yarn test diff --git a/.github/workflows/yarn-install.yml b/.github/workflows/yarn-install.yml index 3ee08b3f48..3775049f2d 100644 --- a/.github/workflows/yarn-install.yml +++ b/.github/workflows/yarn-install.yml @@ -11,4 +11,4 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - - uses: ./.github/actions/yarn-install + - uses: ./.github/actions/setup