EBR-89: extend/use classes from ebrains_drive #187
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: Build | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [ "3.8", "3.9", "3.10", "3.11" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Install dependencies | |
run: python -m pip install -U jupyterlab~=4 ebrains-drive pytest pytest-mock pytest-jupyter pytest_tornasync pytest-cov | |
- name: Lint the extension | |
run: | | |
set -eux | |
jlpm | |
jlpm run lint:check | |
- name: Test the extension | |
run: | | |
set -eux | |
jlpm run test | |
- name: Build the extension | |
run: | | |
set -eux | |
python -m pip install . | |
pytest -vv -r ap --cov --cov-report=xml tvb_ext_bucket | |
jupyter server extension list | |
jupyter server extension list 2>&1 | grep -ie "tvb_ext_bucket.*OK" | |
jupyter labextension list | |
jupyter labextension list 2>&1 | grep -ie "tvb-ext-bucket.*OK" | |
python -m jupyterlab.browser_check | |
- name: Package the extension | |
run: | | |
set -eux | |
pip install build | |
python -m build --sdist | |
pip uninstall -y "tvb-ext-bucket" jupyterlab | |
- name: SonarCloud Scan | |
uses: sonarsource/sonarcloud-github-action@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: Upload extension packages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: extension-artifacts | |
path: dist/tvb_ext_bucket* | |
if-no-files-found: error | |
test_isolated: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
architecture: 'x64' | |
- uses: actions/download-artifact@v4 | |
with: | |
name: extension-artifacts | |
- name: Install and Test | |
run: | | |
set -eux | |
# Remove NodeJS, twice to take care of system and locally installed node versions. | |
sudo rm -rf $(which node) | |
sudo rm -rf $(which node) | |
pip install "jupyterlab~=4" tvb_ext_bucket*.tar.gz | |
jupyter server extension list | |
jupyter server extension list 2>&1 | grep -ie "tvb_ext_bucket.*OK" | |
jupyter labextension list | |
jupyter labextension list 2>&1 | grep -ie "tvb-ext-bucket.*OK" | |
python -m jupyterlab.browser_check --no-chrome-test |