ae55eab599
* chore: remove deprecated and empty QUnit tests * ci: fix UI test config Testing library was added on Frappe, in order to reuse command testing library has to be installed during setup process.
112 lines
2.9 KiB
YAML
112 lines
2.9 KiB
YAML
name: UI
|
|
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-18.04
|
|
timeout-minutes: 60
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
|
|
name: UI Tests (Cypress)
|
|
|
|
services:
|
|
mysql:
|
|
image: mariadb:10.3
|
|
env:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: YES
|
|
ports:
|
|
- 3306:3306
|
|
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
|
|
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.7
|
|
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version: 14
|
|
check-latest: true
|
|
|
|
- name: Add to Hosts
|
|
run: |
|
|
echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
|
|
|
|
- name: Cache pip
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
${{ runner.os }}-
|
|
|
|
- name: Cache node modules
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-node-modules
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
|
${{ runner.os }}-build-
|
|
${{ runner.os }}-
|
|
|
|
- name: Get yarn cache directory path
|
|
id: yarn-cache-dir-path
|
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
|
|
- uses: actions/cache@v2
|
|
id: yarn-cache
|
|
with:
|
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-yarn-
|
|
|
|
- name: Cache cypress binary
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache
|
|
key: ${{ runner.os }}-cypress-
|
|
restore-keys: |
|
|
${{ runner.os }}-cypress-
|
|
${{ runner.os }}-
|
|
|
|
- name: Install
|
|
run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
|
|
env:
|
|
DB: mariadb
|
|
TYPE: ui
|
|
|
|
- name: Site Setup
|
|
run: cd ~/frappe-bench/ && bench --site test_site execute erpnext.setup.utils.before_tests
|
|
|
|
- name: cypress pre-requisites
|
|
run: cd ~/frappe-bench/apps/frappe && yarn add cypress-file-upload@^5 @testing-library/cypress@^8 --no-lockfile
|
|
|
|
|
|
- name: Build Assets
|
|
run: cd ~/frappe-bench/ && bench build
|
|
|
|
- name: UI Tests
|
|
run: cd ~/frappe-bench/ && bench --site test_site run-ui-tests erpnext --headless
|
|
env:
|
|
CYPRESS_RECORD_KEY: 60a8e3bf-08f5-45b1-9269-2b207d7d30cd
|
|
|
|
- name: Show bench console if tests failed
|
|
if: ${{ failure() }}
|
|
run: cat ~/frappe-bench/bench_run_logs.txt
|