Skip to content

Add triggers

Add triggers #3157

Workflow file for this run

name: Frontend Test
on:
push:
paths-ignore:
- 'rst/**'
- '.github/workflows/*-translation.yml'
workflow_dispatch:
env:
CMAKE_DUMMY_WEBUI: false
jobs:
webui-test:
strategy:
fail-fast: false
matrix:
script:
- frontend
- cypress
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.8.0'
- uses: tarantool/setup-tarantool@v2
with:
tarantool-version: '2.6'
##################################################################
# Setup rocks
- name: Cache rocks
uses: actions/cache@v3
id: cache-rocks
with:
path: .rocks/
key: webui-rocks-${{ hashFiles('*.rockspec') }}-03
-
run: tarantoolctl rocks install luatest 0.5.7
if: steps.cache-rocks.outputs.cache-hit != 'true'
##################################################################
# Cachce node_modules
- name: Cache node_modules
uses: actions/cache@v3
with:
path: webui/node_modules/
key: node-modules-${{ hashFiles('webui/package-lock.json') }}
##################################################################
# Cachce webui bundle
- name: Cache webui bundle
uses: actions/cache@v3
with:
path: |
webui/build/bundle.lua
webui/build/bundle.md5
key: webui-bundle
##################################################################
# Cache cypress
- run: echo node_modules/.bin/ >> $GITHUB_PATH
- name: Cache cypress
if: matrix.script == 'cypress'
id: cache-cypress
uses: actions/cache@v3
with:
path: |
./node_modules
~/.cache/Cypress
key: cypress-7.7.0-${{ runner.os }}-02
-
run: |
npm install cypress@7.7.0
npx cypress verify
if: >
matrix.script == 'cypress' &&
steps.cache-cypress.outputs.cache-hit != 'true'
##################################################################
- run: tarantoolctl rocks make
# Stop Mono server. This server starts and listens to 8084 port that is
# used for tests.
- name: 'Stop Mono server'
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
- if: matrix.script == 'frontend'
run: ./frontend-test.sh
- if: matrix.script == 'cypress'
run: ./cypress-test.sh run
- name: Create upload folder for screenshots
uses: actions/upload-artifact@v3
if: failure() && matrix.script == 'cypress'
with:
name: ${{ matrix.script }}-screenshots-from-server
path: webui/cypress/screenshots/
retention-days: 5
if-no-files-found: ignore
- name: Create upload folder for diff outputs
uses: actions/upload-artifact@v3
if: failure() && matrix.script == 'cypress'
with:
name: ${{ matrix.script }}-snapshots-diff-output-from-server
path: webui/cypress/snapshots/**/__diff_output__/**
retention-days: 5
if-no-files-found: ignore
- name: Create upload folder for snapshots
uses: actions/upload-artifact@v3
if: always() && matrix.script == 'cypress'
with:
name: ${{ matrix.script }}-snapshots-from-server
path: webui/cypress/snapshots/
retention-days: 1
if-no-files-found: ignore
##################################################################
# Cleanup cached paths
- run: tarantoolctl rocks remove cartridge