Post release #47
This file contains 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: 'Post release' | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'Version' | |
required: true | |
default: 'latest' | |
workflow_run: | |
workflows: [ "Release" ] | |
types: | |
- completed | |
push: | |
paths: | |
- '.github/workflows/post-release.yml' | |
branches: | |
- 'master' | |
# touch to trigger | |
jobs: | |
cli: | |
runs-on: ubuntu-20.04 | |
name: 'E2E tests via CLI' | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [20.x] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Restore lerna | |
uses: actions/cache@v4 | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: | | |
~/.npm | |
node_modules | |
rust/cubestore/node_modules | |
packages/*/node_modules | |
key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-workspace-main-20.x- | |
- name: Set Yarn version | |
run: yarn policies set-version v1.22.22 | |
- name: Yarn install | |
uses: nick-fields/retry@v3 | |
env: | |
CUBESTORE_SKIP_POST_INSTALL: true | |
with: | |
max_attempts: 3 | |
retry_on: error | |
retry_wait_seconds: 15 | |
timeout_minutes: 20 | |
command: yarn install --frozen-lockfile | |
- name: Build client | |
run: yarn build | |
- name: Lerna tsc | |
run: yarn tsc | |
- name: Birdbox | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
run: | | |
cd packages/cubejs-testing/ | |
npx cubejs-cli@${{ github.event.inputs.version }} create birdbox-test-project -d postgres | |
export BIRDBOX_CUBEJS_VERSION=${{ github.event.inputs.version }} | |
yarn run dataset:minimal | |
yarn run birdbox:cli:postgresql | |
- name: Slack Failure | |
if: failure() | |
uses: voxmedia/github-action-slack-notify-build@v1 | |
with: | |
channel: oss-ci | |
status: FAILED | |
color: danger | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
docker: | |
runs-on: ubuntu-20.04 | |
name: 'E2E tests via Docker' | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
target: ['postgresql', 'postgresql-cubestore', 'postgresql-pre-aggregations'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Restore lerna | |
uses: actions/cache@v4 | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: | | |
~/.npm | |
node_modules | |
rust/cubestore/node_modules | |
packages/*/node_modules | |
key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-workspace-main-20.x- | |
- name: Set Yarn version | |
run: yarn policies set-version v1.22.22 | |
- name: Yarn install | |
uses: nick-fields/retry@v3 | |
env: | |
CUBESTORE_SKIP_POST_INSTALL: true | |
with: | |
max_attempts: 3 | |
retry_on: error | |
retry_wait_seconds: 15 | |
timeout_minutes: 20 | |
command: yarn install --frozen-lockfile | |
- name: Build client | |
run: yarn build | |
- name: Lerna tsc | |
run: yarn tsc | |
- name: Birdbox | |
run: | | |
cd packages/cubejs-testing/ | |
export DEBUG=testcontainers | |
export BIRDBOX_CUBEJS_VERSION=${{ github.event.inputs.version }} | |
yarn run dataset:minimal | |
yarn run birdbox:${{ matrix.target }} | |
- name: Slack Failure | |
if: failure() | |
uses: voxmedia/github-action-slack-notify-build@v1 | |
with: | |
channel: oss-ci | |
status: FAILED | |
color: danger | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
cypress: | |
runs-on: ${{ matrix.os }} | |
name: 'Cypress E2E tests via Docker' | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
browser: [chrome] | |
include: | |
- browser: chrome | |
os: ubuntu-20.04 | |
container: cypress/browsers:node18.12.0-chrome107 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Restore lerna | |
uses: actions/cache@v4 | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: | | |
~/.npm | |
node_modules | |
rust/cubestore/node_modules | |
packages/*/node_modules | |
key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-workspace-main-20.x- | |
- name: Set Yarn version | |
run: yarn policies set-version v1.22.22 | |
- name: Yarn install | |
uses: nick-fields/retry@v3 | |
env: | |
CUBESTORE_SKIP_POST_INSTALL: true | |
with: | |
max_attempts: 3 | |
retry_on: error | |
retry_wait_seconds: 15 | |
timeout_minutes: 20 | |
command: yarn install --frozen-lockfile | |
- name: Lerna tsc | |
run: yarn tsc | |
- name: Birdbox | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
run: | | |
cd packages/cubejs-testing/ | |
export DEBUG=testcontainers | |
export BIRDBOX_CYPRESS_BROWSER=${{ matrix.browser }} | |
export BIRDBOX_CUBEJS_VERSION=${{ github.event.inputs.version }} | |
yarn run cypress:install | |
yarn run dataset:minimal | |
yarn run cypress:birdbox | |
- name: Slack Failure | |
if: failure() | |
uses: voxmedia/github-action-slack-notify-build@v1 | |
with: | |
channel: oss-ci | |
status: FAILED | |
color: danger | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
trigger-repo-sync: | |
runs-on: ubuntu-20.04 | |
name: 'Sync runtime repo' | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Trigger runtime | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GH_TRIGGER_TOKEN }} | |
script: | | |
await github.rest.actions.createWorkflowDispatch({ | |
owner: 'cubedevinc', | |
repo: 'cube-runtime', | |
workflow_id: 'sync.yml', | |
ref: 'master' | |
}) |