Test JupyterLab 4.1.x-4.3.x (#129) #444
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: CI | |
on: | |
pull_request: | |
branches: [master] | |
push: | |
branches: [master] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
PYTHONIOENCODING: utf-8 | |
PYTHONUNBUFFERED: '1' | |
PIP_DISABLE_PIP_VERSION_CHECK: '1' | |
CACHE_EPOCH: 9 | |
ATEST_RETRIES: 2 | |
ALL_PY_COV_FAIL_UNDER: 73 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.34.0 | |
cache: true | |
environments: build | |
cache-key: job-build | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
key: ${{ env.CACHE_EPOCH }}-${{ hashFiles('yarn.lock') }}-node-modules | |
- run: pixi run setup-js | |
- run: touch node_modules/.cached-in-ci | |
- run: pixi run dist | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-dist | |
path: | | |
dist | |
.pixi/task-cache-v0 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build | |
path: | | |
build/tsc/.*.tsbuildinfo | |
lib | |
src/_d | |
.pixi/task-cache-v0 | |
build-cov: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.34.0 | |
cache: true | |
environments: build | |
cache-key: job-build | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
key: ${{ env.CACHE_EPOCH }}-${{ hashFiles('yarn.lock') }}-node-modules | |
- run: pixi run setup-js | |
- run: touch node_modules/.cached-in-ci | |
- run: pixi run build-js-ext-cov | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build-cov | |
path: | | |
build/tsc/.*.tsbuildinfo.cov | |
build/labextensions-cov | |
.pixi/task-cache-v0 | |
lint: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.34.0 | |
cache: true | |
environments: build lint | |
cache-key: job-lint | |
- name: cache (node) | |
uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
key: ${{ env.CACHE_EPOCH }}-${{ hashFiles('yarn.lock') }}-node-modules | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build | |
- run: pixi run fix && pixi run fix | |
- run: pixi run lint | |
docs: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.34.0 | |
cache: true | |
environments: build check docs lite | |
cache-key: job-lint | |
- name: cache (node) | |
uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
key: ${{ env.CACHE_EPOCH }}-${{ hashFiles('yarn.lock') }}-node-modules | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build | |
- run: pixi run docs-lite | |
- run: pixi run docs | |
- run: pixi run check | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-docs | |
path: | | |
build/docs | |
build/reports | |
test: | |
name: ${{ matrix.task }} (${{ matrix.vm }}) | |
runs-on: ${{ matrix.vm }} | |
needs: [build, build-cov] | |
strategy: | |
fail-fast: false | |
matrix: | |
vm: [ubuntu-latest, windows-latest, macos-13, macos-latest] | |
task: [test, test-oldest] | |
exclude: | |
- { vm: macos-13, task: test } | |
- { vm: macos-latest, task: test-oldest } | |
include: | |
- { vm: macos-13, atest-args: '' } | |
- { vm: macos-latest, atest-args: '' } | |
- { vm: ubuntu-latest, atest-args: '' } | |
- { vm: windows-latest, atest-args: '--exclude ci:skip-win' } | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.34.0 | |
cache: true | |
environments: a${{ matrix.task }} i${{ matrix.task }} u${{ matrix.task }} | |
cache-key: job-${{ matrix.task }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build | |
- if: matrix.task == 'test' | |
uses: actions/download-artifact@v4 | |
with: | |
name: ipyelk-${{ github.run_number }}-build-cov | |
- run: pixi run u${{ matrix.task }}-pytest | |
- run: pixi run i${{ matrix.task }}-nbconvert | |
- if: matrix.task == 'test' && matrix.vm == 'ubuntu-latest' | |
uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
key: ${{ env.CACHE_EPOCH }}-${{ hashFiles('yarn.lock') }}-node-modules | |
- env: | |
ATEST_ARGS: ${{ matrix.atest-args }} | |
run: pixi run a${{ matrix.task }}-robot | |
- if: matrix.task == 'test' && matrix.vm == 'ubuntu-latest' | |
run: pixi run report | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ipyelk-${{ github.run_number }}-${{ matrix.task }}-${{ matrix.vm }} | |
path: | | |
build/reports |