added copy + run optimization functionality, seems to be working well; #485
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: | |
- "*" | |
pull_request: | |
defaults: | |
run: | |
# -l: use login shell (required when using Conda) | |
shell: bash -l {0} | |
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@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
environment-file: environment.yml | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: pareto-ui-env | |
- name: Install correct branch of pareto | |
working-directory: ../ | |
run: git clone https://github.com/project-pareto/project-pareto.git && cd project-pareto && pip install --progress-bar off . | |
- name: Install electron JS dependencies | |
run: | | |
npm --prefix electron clean-install | |
- name: Install frontendJS dependencies | |
run: | | |
npm --prefix electron/ui clean-install | |
- name: get idaes extensions | |
run: idaes get-extensions | |
# - name: get idaes extensions | |
# run: | | |
# if [ "$RUNNER_OS" == "Linux" ]; then | |
# idaes get-extensions --platform ubuntu2104 | |
# else | |
# idaes get-extensions | |
# fi | |
- name: run component tests | |
run: npm --prefix electron/ui test | |
- name: run backend server | |
run: uvicorn --app-dir backend/app main:app --reload --host 0.0.0.0 --port 8001 & sleep 10 | |
- name: run frontend | |
run: npm --prefix electron/ui start & sleep 30 | |
- name: Cypress e2e tests | |
working-directory: electron/ui | |
timeout-minutes: 24 | |
run: | | |
npx cypress run | |
- name: Upload artifact for screenshots & videos | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: cypress_results-${{ matrix.os }} | |
path: | | |
electron/ui/cypress/screenshots/ | |
electron/ui/cypress/videos/ |