Skip to content

Support forecasting #4560

Support forecasting

Support forecasting #4560

name: CI e2e notebooks
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ui-build:
env:
node-version: 16.x
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
- name: Install yarn
run: npm install yarn -g
- name: Install yarn dependencies
run: yarn install --frozen-lock-file
- name: Build Typescript
run: yarn buildall
- name: Upload the build result
uses: actions/upload-artifact@v3
with:
name: raiwidgets-js
path: raiwidgets/raiwidgets/widget
ci-e2e-notebook:
needs: ui-build
env:
node-version: 16.x
strategy:
fail-fast: false
matrix:
# TODO: add macos
operatingSystem: [ubuntu-latest, windows-latest]
pythonVersion: [3.8, 3.9, "3.10"]
flights: ["", "dataBalanceExperience"]
notebookGroup: ["nb_group_1", "nb_group_2", "nb_group_3"]
exclude:
# nb_group_3 includes only forecasting which doesn't change
# with the data balance experience flight
- notebookGroup: "nb_group_3"
flights: "dataBalanceExperience"
runs-on: ${{ matrix.operatingSystem }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
- name: Install yarn
run: npm install yarn -g
- name: Install yarn dependencies
run: yarn install --frozen-lock-file
- name: Download the UI build result
uses: actions/download-artifact@v2
with:
name: raiwidgets-js
path: raiwidgets/raiwidgets/widget
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
python-version: ${{ matrix.pythonVersion }}
- name: Install pytorch
shell: bash -l {0}
run: |
conda install --yes --quiet pytorch torchvision captum cpuonly -c pytorch
- name: Setup tools
shell: bash -l {0}
run: |
python -m pip install --upgrade pip
pip install --upgrade setuptools
pip install --upgrade "pip-tools<=7.1.0"
- name: Install dependencies
shell: bash -l {0}
run: |
pip install -r requirements-dev.txt
pip install -v -e .
working-directory: raiwidgets
- name: Pip freeze
shell: bash -l {0}
run: |
pip freeze > installed-requirements-dev.txt
cat installed-requirements-dev.txt
working-directory: raiwidgets
- name: Upload requirements
uses: actions/upload-artifact@v3
with:
name: requirements-dev.txt
path: raiwidgets/installed-requirements-dev.txt
# keep list of notebooks in sync with scripts/e2e-widget.js, create new notebook group if necessary
- if: ${{ matrix.notebookGroup == 'nb_group_1'}}
name: Run widget tests
shell: bash -l {0}
run: |
yarn e2e-widget -n "responsibleaidashboard-census-classification-model-debugging" -f ${{ matrix.flights }}
yarn e2e-widget -n "responsibleaidashboard-diabetes-regression-model-debugging" -f ${{ matrix.flights }}
yarn e2e-widget -n "responsibleaidashboard-housing-decision-making" -f ${{ matrix.flights }}
- if: ${{ matrix.notebookGroup == 'nb_group_2'}}
name: Run widget tests
shell: bash -l {0}
run: |
yarn e2e-widget -n "responsibleaidashboard-housing-classification-model-debugging" -f ${{ matrix.flights }}
yarn e2e-widget -n "responsibleaidashboard-diabetes-decision-making" -f ${{ matrix.flights }}
yarn e2e-widget -n "responsibleaidashboard-multiclass-dnn-model-debugging" -f ${{ matrix.flights }}
- if: ${{ matrix.notebookGroup == 'nb_group_3'}}
name: Run widget tests
shell: bash -l {0}
run: |
yarn e2e-widget -n "responsibleaidashboard-orange-juice-forecasting" -f ${{ matrix.flights }}
- name: Upload e2e test screen shot
if: always()
uses: actions/upload-artifact@v3
with:
name: raiwidgets-e2e-screen-shot
path: ./dist/cypress