Skip to content

Update E2E testing to run parameter sweep tests for all flowsheets #384

Update E2E testing to run parameter sweep tests for all flowsheets

Update E2E testing to run parameter sweep tests for all flowsheets #384

Workflow file for this run

name: App Tests
on:
push:
# branches:
# - main
# - rel_*
pull_request:
defaults:
run:
# -l: use login shell (required when using Conda)
shell: bash -l {0}
env:
PYTEST_ADDOPTS: --color=yes
jobs:
component_e2e_testing:
name: E2E testing (${{ matrix.os }})
runs-on: ${{ matrix.os-version }}
strategy:
fail-fast: false
matrix:
os:
- linux
- win64
# - macos
include:
- os: linux
os-version: ubuntu-latest
- os: win64
os-version: windows-latest
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment.yml
activate-environment: watertap-ui-env
miniforge-version: latest
- name: Add theme to .env file
working-directory: ./electron/ui
run: |
echo REACT_APP_THEME=watertap >> .env
- name: Install Electron JS dependencies
run: |
npm --prefix electron clean-install
- name: Install frontend JS dependencies
run: |
npm --prefix electron/ui clean-install
- name: get idaes extensions
run: idaes get-extensions
- name: Install watertap-ui Python package
run: |
pip install --progress-bar off .
- name: Display installed environment
run: |
conda env export --no-builds
- name: run backend server
run: uvicorn --app-dir backend/app main:app --reload --host 127.0.0.1 --port 8001 & sleep 30
- name: run frontend
run: npm --prefix electron/ui start & sleep 30
- name: run component tests
run: npm --prefix electron/ui run test
- name: Cypress e2e tests
working-directory: electron/ui
timeout-minutes: 45
run: npx cypress run
- name: Upload artifact for screenshots & videos
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress_results-${{ matrix.os }}
path: |
electron/ui/cypress/screenshots/
electron/ui/cypress/videos/
pytest:
name: pytest (${{ matrix.os }})
runs-on: ${{ matrix.os-version }}
strategy:
fail-fast: false
matrix:
os:
- linux
- win64
# - macos
include:
- os: linux
os-version: ubuntu-latest
- os: win64
os-version: windows-latest
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment.yml
activate-environment: watertap-ui-env
miniforge-version: latest
- name: Install watertap-ui Python package
run: |
pip install --progress-bar off .
- name: Install httpx
run: |
pip install httpx
- name: get idaes extensions
run: idaes get-extensions
- name: Run pytest
working-directory: backend
run: |
pytest tests -v