Skip to content

Transfer the NPM package to @jupyter namespace (#1875) #136

Transfer the NPM package to @jupyter namespace (#1875)

Transfer the NPM package to @jupyter namespace (#1875) #136

# This is a GitHub workflow defining a set of jobs with a set of steps.
# ref: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions
#
name: Test extensions
on:
pull_request:
branches: ["**"]
push:
branches: [main, master]
tags: ["**"]
defaults:
run:
shell: bash
jobs:
labextension-compatibility:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Install node
uses: actions/setup-node@v3
with:
node-version: '18.x'
# NOTE: actions/setup-python@v2 can make use of a cache within the GitHub
# Action virtual environment and setup extremely fast. 3.9 isn't
# available in this cache as of November 2020.
- name: Install Python
uses: actions/setup-python@v2
- name: Install package
run: |
python -m pip install --upgrade pip wheel setuptools
pip install -e .
pip freeze
- name: Check compatibility
run: |
if [[ $(jupyter labextension list 2>&1 | grep '(python, nbgrader)' | grep ' X') ]]
then
echo "Compatibility error"
jupyter labextension list
exit 1
fi
ui-test:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
env:
# NOTE: UTF-8 content may be interpreted as ascii and causes errors
# without this.
LANG: C.UTF-8
MOZ_HEADLESS: 1
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-22.04]
python: ["3.10", "3.11"]
group: ["labextensions", "nbextensions"]
steps:
# This is how you set an environment variable in a GitHub workflow that
# will be available in following steps as if you would used `export
# MY_ENV=my-value`.
- name: Configure environment variables from job flags
run: |
echo "GROUP=${{ matrix.group }}" >> $GITHUB_ENV
- uses: actions/checkout@v3
- name: Install node
uses: actions/setup-node@v3
with:
node-version: '18.x'
# NOTE: actions/setup-python@v2 can make use of a cache within the GitHub
# Action virtual environment and setup extremely fast. 3.9 isn't
# available in this cache as of November 2020.
- name: Install Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
python tasks.py install --group=${{ matrix.group }}
pip freeze
- name: Install Playwright
run: |
npx playwright install
- name: Run playwright tests
run: |
python tasks.py tests --group=${{ matrix.group }}
- name: Upload Playwright Test report
if: always()
uses: actions/upload-artifact@v2
with:
name: nbgrader-uitests-${{ matrix.group }}-${{ matrix.os }}-python${{ matrix.python }}
path: |
playwright-report