Skip to content

Cypress

Cypress #48

Workflow file for this run

---
name: Cypress
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * 0
jobs:
cypress:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.0'
node-version:
- 18
cypress-browser:
- chrome
- firefox
- edge
services:
postgres:
image: manageiq/postgresql:13
env:
POSTGRESQL_USER: root
POSTGRESQL_PASSWORD: smartvm
POSTGRESQL_DATABASE: vmdb_development
options: "--health-cmd pg_isready --health-interval 2s --health-timeout 5s
--health-retries 5"
ports:
- 5432:5432
memcached:
image: manageiq/memcached:1.5
ports:
- 11211:11211
env:
TEST_SUITE: spec:cypress
CYPRESS_BROWSER: ${{ matrix.cypress-browser }}
PGHOST: localhost
PGPASSWORD: smartvm
steps:
- uses: actions/checkout@v4
- name: Install Edge
uses: browser-actions/setup-edge@v1
if: ${{ matrix.cypress-browser == 'edge' }}
- name: Set up system
run: bin/before_install
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "${{ matrix.ruby-version }}"
bundler-cache: true
timeout-minutes: 30
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "${{ matrix.node-version }}"
cache: yarn
- name: Prepare tests
run: bin/setup
env: # We will be using the development database, so no need for the test database
SKIP_TEST_RESET: "true"
SKIP_DATABASE_RESET: "false"
- name: Run tests
run: bundle exec rake
- name: Save artifacts
uses: actions/upload-artifact@v3
if: failure()
with:
name: cypress-${{ matrix.cypress-browser }}
path: |
cypress/screenshots/
cypress/videos/
spec/manageiq/log/