Update E2E testing to run parameter sweep tests for all flowsheets #385
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |