feat: add web_server mode #762
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
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs | |
name: Auto CI | |
on: | |
push: | |
branches: [ "main", "dev" ] | |
pull_request: | |
branches: [ "main" ] | |
workflow_dispatch: | |
jobs: | |
build-js: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [16.x] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'yarn' | |
cache-dependency-path: ./app/yarn.lock | |
- name: Try Compiling | |
working-directory: ./ | |
run: | | |
chmod u+x ./scripts/compile.sh | |
./scripts/compile.sh | |
- name: Uploading dist | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pygwalker-app | |
path: ./pygwalker/templates/dist/* | |
build-py: | |
needs: build-js | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8', '3.12'] | |
os-version: [ubuntu-latest, windows-latest, macos-latest] | |
runs-on: ${{ matrix.os-version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download PyGWalkerApp | |
uses: actions/download-artifact@v3 | |
id: build-py | |
with: | |
name: pygwalker-app | |
path: ./pygwalker/templates/dist | |
- name: Use Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version == '3.7' && matrix.os-version == 'macos-latest' && '3.7.16' || matrix.python-version }} | |
- name: Download test data | |
working-directory: ./ | |
run: | | |
chmod u+x ./scripts/test-init.py | |
python ./scripts/test-init.py | |
- name: Try Installing | |
working-directory: ./ | |
run: | | |
pip install ./ | |
- name: Try Install Modin In Linux Os | |
if: ${{ matrix.os-version == 'ubuntu-latest' && matrix.python-version == '3.11' }} | |
run: | | |
pip install aiohttp==3.8.6 | |
pip install "modin==0.23.1" "modin[ray]==0.23.1" | |
pip install pydantic==1.10.9 | |
- name: Try Running | |
working-directory: ./tests/ | |
run: | | |
pip install ipykernel nbconvert "pandas<=2.0.3" polars | |
python -m ipykernel install --name python --user | |
jupyter kernelspec list | |
jupyter nbconvert --execute --ExecutePreprocessor.kernel_name=python --to html *.ipynb | |
- name: Try Pytest | |
working-directory: ./ | |
run: | | |
pip install pytest | |
pytest tests | |
- name: Uploading notebooks | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.python-version == '3.12' && matrix.os-version == 'ubuntu-latest' }} | |
with: | |
name: notebook | |
path: | | |
./tests/main.html | |
./tests/offline.html | |
./tests/stress-test.html |