123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- name: Build
- on:
- push:
- branches: main
- pull_request:
- branches: '*'
- jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Base Setup
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- - name: Install dependencies
- run: python -m pip install -U jupyterlab~=3.1 check-manifest
- - 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 .[test]
- jupyter labextension list
- jupyter labextension list 2>&1 | grep -ie "yili-dag.*OK"
- python -m jupyterlab.browser_check
- - name: Package the extension
- run: |
- set -eux
- check-manifest -v
- pip install build
- python -m build
- pip uninstall -y "yili-dag" jupyterlab
- - name: Upload extension packages
- uses: actions/upload-artifact@v2
- with:
- name: extension-artifacts
- path: dist/yili-dag*
- if-no-files-found: error
- test_isolated:
- needs: build
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Install Python
- uses: actions/setup-python@v2
- with:
- python-version: '3.9'
- architecture: 'x64'
- - uses: actions/download-artifact@v2
- 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~=3.1" yili-dag*.whl
- jupyter labextension list
- jupyter labextension list 2>&1 | grep -ie "yili-dag.*OK"
- python -m jupyterlab.browser_check --no-chrome-test
- integration-tests:
- name: Integration tests
- needs: build
- runs-on: ubuntu-latest
- env:
- PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/pw-browsers
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Base Setup
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- - name: Download extension package
- uses: actions/download-artifact@v2
- with:
- name: extension-artifacts
-
- - name: Install the extension
- run: |
- set -eux
- python -m pip install "jupyterlab~=3.1" yili-dag*.whl
- - name: Install dependencies
- working-directory: ui-tests
- env:
- PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- run: jlpm install
- - name: Set up browser cache
- uses: actions/cache@v2
- with:
- path: |
- ${{ github.workspace }}/pw-browsers
- key: ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }}
- - name: Install browser
- run: jlpm playwright install chromium
- working-directory: ui-tests
- - name: Execute integration tests
- working-directory: ui-tests
- run: |
- jlpm playwright test
- - name: Upload Playwright Test report
- if: always()
- uses: actions/upload-artifact@v2
- with:
- name: yili-dag-playwright-tests
- path: |
- ui-tests/test-results
- ui-tests/playwright-report
|