Skip to content

Merge pull request #437 from widgetti/feat_clip_volume #138

Merge pull request #437 from widgetti/feat_clip_volume

Merge pull request #437 from widgetti/feat_clip_volume #138

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: '*'
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
defaults:
run:
shell: bash -l {0}
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-test.yml
environment-name: ipyvolume-test
extra-specs: |
python=3.9
pytest=${{ matrix.pytest }}
- name: Python PEP8 check
run: flake8 ipyvolume
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-test.yml
environment-name: ipyvolume-test
extra-specs: |
python=${{ matrix.python-version }}
- name: Install the package
run: |
pip install .
- name: Test installation files
run: |
test -d $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume/extension.js
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume/index.js
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume
test -f $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume/package.json
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume/static
- name: Validate the nbextension
run: jupyter nbextension list 2>&1 | grep "ipyvolume/extension"
- name: Validate the labextension
run: jupyter labextension list 2>&1 | grep ipyvolume
# - name: JavaScript prettyfier
# run: |
# yarn install
# yarn run prettier --check .
# working-directory: js
- name: Python tests
run: pytest ipyvolume
- name: JavaScript tests
run: |
npm install
npm run test
working-directory: js
- name: Build Python package
run: |
python setup.py sdist bdist_wheel
cd dist
sha256sum * | tee SHA256SUMS
- name: Pack JavaScript package
run: |
yarn pack
mv ipyvolume*.tgz ../dist
working-directory: js
- name: Upload builds
uses: actions/upload-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
visual-regression-tests:
runs-on: ubuntu-latest
needs: [build]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-test.yml
environment-name: ipyvolume-test
extra-specs: |
python=3.9
pytest=${{ matrix.pytest }}
- uses: actions/download-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Install the package
run: pip install -vv ipyvolume*.whl
working-directory: dist
- name: Install Galata
run: yarn install
working-directory: ui-tests
- name: Launch JupyterLab
run: yarn run start-jlab:detached
working-directory: ui-tests
- name: Wait for JupyterLab
uses: ifaxity/wait-on-action@v1
with:
resource: http-get://localhost:8999/api
timeout: 20000
- name: Run UI Tests
run: yarn run test
working-directory: ui-tests
- name: Upload UI Test artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: ui-test-output
path: ui-tests/test-output
install:
runs-on: ${{ matrix.os }}-latest
needs: [build]
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
python: ['3.6', '3.9']
include:
- python: '3.6'
dist: 'ipyvolume*.tar.gz'
- python: '3.9'
dist: 'ipyvolume*.whl'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-test.yml
environment-name: ipyvolume-test
extra-specs: |
python=${{ matrix.python-version }}
- uses: actions/download-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Install the package
run: |
cd dist
pip install -vv ${{ matrix.dist }}
- name: Test installation files
run: |
test -d $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume/extension.js
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipyvolume/index.js
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume
test -f $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume/package.json
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipyvolume/static
- name: Validate the nbextension
run: jupyter nbextension list 2>&1 | grep "ipyvolume/extension"
- name: Validate the labextension
run: jupyter labextension list 2>&1 | grep ipyvolume
JupyterLab2-build:
runs-on: ${{ matrix.os }}-latest
needs: [build]
strategy:
fail-fast: false
matrix:
os: [ubuntu]
python: ['3.9']
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v1
with:
node-version: "14.x"
registry-url: "https://registry.npmjs.org"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- uses: actions/download-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Install JupyterLab 2
run: pip install jupyterlab==2
- name: Install the labextension
run: jupyter labextension install dist/ipyvolume*.tgz --debug