Skip to content

fix deploys

fix deploys #1325

Workflow file for this run

name: Cypress Tests
on:
pull_request:
paths-ignore:
- '.vscode/**'
- 'docs/**'
- 'env/**'
- '**/*.md'
- '.gitpod.yml'
push:
branches:
- master
paths-ignore:
- '.vscode/**'
- 'docs/**'
- 'env/**'
- '**/*.md'
- '.gitpod.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
component:
runs-on: ubuntu-latest
# container:
# image: cypress/browsers:node16.18.0-chrome107-ff106-edge
# options: --user 1001
strategy:
fail-fast: false
matrix:
node-version: [18.x]
# run copies of the current job in parallel
containers: [1]
browsers: [electron]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cache/Cypress
node_modules
key: cache-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('yarn.lock') }}
- run: yarn --frozen-lockfile
- run: yarn run cypress install
- name: 'Component Tests'
uses: cypress-io/github-action@v6.6.1
with:
install: false
component: true
record: true
parallel: false
group: 'Component - ${{ matrix.browsers }}'
browser: ${{ matrix.browsers }}
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# Recommended: pass the GitHub token lets this action correctly
# determine the unique run id necessary to re-run the checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
e2e:
runs-on: ubuntu-latest
# container:
# image: cypress/browsers:node16.18.0-chrome107-ff106-edge
# options: --user 1001
strategy:
fail-fast: false
matrix:
node-version: [18.x]
# run copies of the current job in parallel
containers: [1, 2]
browsers: [electron]
env:
# this is safe because it's only used for testing
SESSION_SECRET: LERTmi2Jiz6gJHt21AZUWBstezP41P3odxzEsCo1w4zL8XqGyjGdMZ2QPXUenVQQ2fY1xzGBYseB1g9teRHbxF
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
check-latest: true
cache: "yarn"
- run: yarn install --frozen-lockfile
- name: Build client
run: yarn run build
- run: yarn run cypress install
- run: yarn workspace ott-server run sequelize db:migrate
- name: 'E2E Tests'
uses: cypress-io/github-action@v6.6.1
with:
install: false
start: yarn start
wait-on: 'http://localhost:8080/api/status'
wait-on-timeout: 120
browser: ${{ matrix.browsers }}
record: true
parallel: true
group: 'E2E - ${{ matrix.browsers }}'
env:
PORT: 8080
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# Recommended: pass the GitHub token lets this action correctly
# determine the unique run id necessary to re-run the checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
e2e-grafana:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- ott-vis
- ott-vis-datasource
steps:
- uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Check for backend
id: check-for-backend
working-directory: packages/${{ matrix.package }}
run: |
if [ -f "Magefile.go" ]
then
echo "has-backend=true" >> $GITHUB_OUTPUT
fi
- name: Setup Go environment
if: steps.check-for-backend.outputs.has-backend == 'true'
uses: actions/setup-go@v3
with:
go-version: '1.21'
- name: Test backend
if: steps.check-for-backend.outputs.has-backend == 'true'
uses: magefile/mage-action@v2
with:
version: latest
args: coverage
- name: Build backend
if: steps.check-for-backend.outputs.has-backend == 'true'
uses: magefile/mage-action@v2
with:
version: latest
args: buildAll
- name: Check for E2E
id: check-for-e2e
working-directory: packages/${{ matrix.package }}
run: |
if [ -d "cypress" ]
then
echo "has-e2e=true" >> $GITHUB_OUTPUT
fi
- name: Start grafana docker
if: steps.check-for-e2e.outputs.has-e2e == 'true'
working-directory: packages/${{ matrix.package }}
run: docker-compose up -d
- name: Run e2e tests
if: steps.check-for-e2e.outputs.has-e2e == 'true'
run: yarn workspace ${{ matrix.package }} run e2e
- name: Stop grafana docker
if: steps.check-for-e2e.outputs.has-e2e == 'true'
working-directory: packages/${{ matrix.package }}
run: docker-compose down