Skip to content

Test JupyterLab 4.1.x-4.3.x (#129) #444

Test JupyterLab 4.1.x-4.3.x (#129)

Test JupyterLab 4.1.x-4.3.x (#129) #444

Workflow file for this run

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