2023-01-23 10:37:59 +00:00
|
|
|
name: Build
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: main
|
|
|
|
pull_request:
|
|
|
|
branches: '*'
|
|
|
|
|
2024-02-12 13:37:00 +00:00
|
|
|
concurrency:
|
|
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
2023-01-23 10:37:59 +00:00
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
|
|
|
|
- name: Base Setup
|
|
|
|
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
|
|
|
|
|
|
|
|
- name: Install dependencies
|
2024-02-12 13:37:00 +00:00
|
|
|
run: python -m pip install -U "jupyterlab>=4.0.0,<5"
|
2023-01-23 10:37:59 +00:00
|
|
|
|
|
|
|
- name: Lint the extension
|
|
|
|
run: |
|
|
|
|
set -eux
|
|
|
|
jlpm
|
|
|
|
jlpm run lint:check
|
|
|
|
|
|
|
|
- name: Build the extension
|
|
|
|
run: |
|
|
|
|
set -eux
|
|
|
|
python -m pip install .[test]
|
|
|
|
|
|
|
|
jupyter labextension list
|
2024-02-12 13:37:00 +00:00
|
|
|
jupyter labextension list 2>&1 | grep -ie "sandbox_theme.*OK"
|
2023-01-23 10:37:59 +00:00
|
|
|
python -m jupyterlab.browser_check
|
|
|
|
|
|
|
|
- name: Package the extension
|
|
|
|
run: |
|
|
|
|
set -eux
|
|
|
|
|
|
|
|
pip install build
|
|
|
|
python -m build
|
2024-02-12 13:37:00 +00:00
|
|
|
pip uninstall -y "sandbox_theme" jupyterlab
|
2023-01-23 10:37:59 +00:00
|
|
|
|
|
|
|
- name: Upload extension packages
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: extension-artifacts
|
2024-02-12 13:37:00 +00:00
|
|
|
path: dist/sandbox_theme*
|
2023-01-23 10:37:59 +00:00
|
|
|
if-no-files-found: error
|
|
|
|
|
|
|
|
test_isolated:
|
|
|
|
needs: build
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Install Python
|
|
|
|
uses: actions/setup-python@v4
|
|
|
|
with:
|
|
|
|
python-version: '3.9'
|
|
|
|
architecture: 'x64'
|
|
|
|
- uses: actions/download-artifact@v3
|
|
|
|
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)
|
|
|
|
|
2024-02-12 13:37:00 +00:00
|
|
|
pip install "jupyterlab>=4.0.0,<5" sandbox_theme*.whl
|
2023-01-23 10:37:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
jupyter labextension list
|
2024-02-12 13:37:00 +00:00
|
|
|
jupyter labextension list 2>&1 | grep -ie "sandbox_theme.*OK"
|
|
|
|
python -m jupyterlab.browser_check --no-browser-test
|
2023-01-23 10:37:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
check_links:
|
|
|
|
name: Check Links
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
|
|
|
|
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1
|