Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put front-end CI jobs in single workflow file #1097

Merged
merged 1 commit into from
Oct 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 0 additions & 87 deletions .github/workflows/e2e-test.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Format and lint
name: UI

on: [push, pull_request]

Expand Down Expand Up @@ -116,3 +116,86 @@ jobs:

- name: Lint
run: pnpm --prefix ui eslint

e2e:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
matrix:
python-version: ["3.10"] #, "3.9", "3.10"]

# Skip `pull_request` runs on local PRs for which `push` runs are already triggered
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository

# Service containers to run with `container-job`
services:
# Label used to access the service container
redis:
# Docker Hub image
image: redis
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps port 6379 on service container to the host
- 6379:6379

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH

- name: Install ldap dependencies
run: sudo apt-get -y install libsasl2-dev libldap2-dev libssl-dev

- name: Install dependencies
run: |
conda install -c conda-forge mamba
mamba env update --file conda-environment.yml --name base
pip install -e .

- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8.x

- name: Cache UI dependencies
uses: actions/cache@v3
with:
path: |
~/setup-pnpm/node_modules/.bin/store
~/.cache/Cypress
key: cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-

- name: Install UI dependencies
run: pnpm --prefix ui install

- name: Build UI
run: pnpm --prefix ui build
env:
DISABLE_ESLINT_PLUGIN: true

- name: Start MXCuBE server
run: mxcubeweb-server -r ./test/HardwareObjectsMockup.xml/ --static-folder $(pwd)/ui/build/ -L debug &

- name: Run Cypress
run: pnpm --prefix ui e2e

- uses: actions/upload-artifact@v3
if: failure()
with:
name: cypress
path: ui/cypress/debug
Loading