Skip to content

Back to the releaser setup #492

Back to the releaser setup

Back to the releaser setup #492

Workflow file for this run

name: Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
defaults:
run:
shell: bash -l {0}
jobs:
lint:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.10']
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-name: ipycanvas-dev
environment-file: dev-environment.yml
channels: conda-forge
extra-specs: |
python=${{ matrix.python-version }}
- name: Test PEP8
run: |
black --check ipycanvas
black --check examples/*.ipynb
blacken-docs docs/*.rst
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-name: ipycanvas-dev
environment-file: dev-environment.yml
channels: conda-forge
extra-specs: |
python=${{ matrix.python-version }}
- name: Build packages
run: |
python -m build
cd dist
sha256sum * | tee SHA256SUMS
- name: Upload builds
uses: actions/upload-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
tests:
runs-on: ${{ matrix.os }}-latest
needs: [build]
strategy:
fail-fast: false
matrix:
os: [ubuntu]
python: ['3.10']
include:
- python: '3.10'
dist: 'ipycanvas*.whl'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-name: ipycanvas-dev
environment-file: dev-environment.yml
channels: conda-forge
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: Log installation files
run: |
ls $CONDA_PREFIX/share/jupyter/nbextensions
ls $CONDA_PREFIX/share/jupyter/labextensions
- name: Test installation files
run: |
test -d $CONDA_PREFIX/share/jupyter/nbextensions/ipycanvas
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipycanvas/extension.js
test -f $CONDA_PREFIX/share/jupyter/nbextensions/ipycanvas/index.js
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipycanvas
test -f $CONDA_PREFIX/share/jupyter/labextensions/ipycanvas/package.json
test -d $CONDA_PREFIX/share/jupyter/labextensions/ipycanvas/static
- name: Validate the labextension
run: jupyter labextension list 2>&1 | grep ipycanvas
- name: Install dependencies
shell: bash -l {0}
working-directory: ui-tests
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
run: jlpm install
- name: Set up browser cache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/pw-browsers
key: ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }}
- name: Install browser
shell: bash -l {0}
run: npx playwright install chromium
working-directory: ui-tests
- name: Execute integration tests
shell: bash -l {0}
working-directory: ui-tests
run: npx playwright test
- name: Upload Playwright Test report
if: always()
uses: actions/upload-artifact@v3
with:
name: ipycanvas-playwright-tests
path: |
ui-tests/test-results
ui-tests/playwright-report