Skip to content

CI: release as solara-ipyantd #52

CI: release as solara-ipyantd

CI: release as solara-ipyantd #52

Workflow file for this run

name: Build
on:
push:
branches:
- master
tags:
- "v*"
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install node
uses: actions/setup-node@v3
with:
node-version: "16.x"
# - name: Change version for non-releases
# if: ${{ ! startsWith(github.event.ref, 'refs/tags/v')}}
# run: python .github/ci_version.py
- name: npm install
run: (npm ci)
- name: Python requirements
run: pip install datamodel-code-generator==0.25.2 hatch
- name: Build antd es module
run: (npm run build)
- name: Package
run: hatch build
- name: Upload builds
uses: actions/upload-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}
path: |
./dist
./*.tgz
# do we need unittests?
# test:
# needs: [build]
# runs-on: ubuntu-20.04
# strategy:
# fail-fast: false
# matrix:
# python-version: [3.7, 3.8, 3.9, "3.10", "3.11"]
# steps:
# - uses: actions/checkout@v2
# - uses: actions/download-artifact@v3
# with:
# name: ipyantd-dist-${{ github.run_number }}
# - name: Install Python
# uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install
# run: pip install `echo dist/*.whl`[unit-test] "jupyter_server<2"
# - name: Run unit tests
# run: pytest tests/unit
ui-test:
needs: [build]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install ipyantd
run: pip install `echo dist/*.whl`[ui-test] "jupyter_server<2"
- name: Install playwright browsers
run: playwright install chromium
- name: Run ui-tests
run: pytest tests/ui/ --video=retain-on-failure
- name: Upload Test artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: ipyantd-test-results-${{ github.run_number }}
path: test-results
release:
if: startsWith(github.event.ref, 'refs/tags/v')
needs: [ui-test]
# needs: [test, ui-test]
runs-on: ubuntu-20.04
permissions:
id-token: write # this permission is mandatory for trusted publishing
steps:
- uses: actions/download-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}
- name: Install node
uses: actions/setup-node@v1
with:
node-version: "16.x"
registry-url: "https://registry.npmjs.org"
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel jupyter-packaging jupyterlab
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist