Skip to content

fix(controller): alter event msg type to text #157

fix(controller): alter event msg type to text

fix(controller): alter event msg type to text #157

Workflow file for this run

name: Python Client/SDK
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: '${{ github.workflow }} @ ${{ github.ref }}'
cancel-in-progress: true
jobs:
filter:
runs-on: ubuntu-latest
outputs:
client: ${{ steps.filter.outputs.client }}
steps:
- uses: actions/checkout@v3
- name: Check for python files changed
uses: getsentry/paths-filter@v2
id: filter
with:
base: main
filters: .github/file-filter.yml
codestyle:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
needs:
- filter
if: ${{ (github.event_name == 'pull_request' && needs.filter.outputs.client == 'true') || github.event_name == 'push' }}
steps:
- uses: actions/checkout@v3
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: ${{matrix.python-version}}
architecture: "x64"
- name: Get pip cache
id: pip-cache-path
run: echo "::set-output name=dir::$(pip cache dir)"
- name: Cache pip dependencies
uses: actions/cache@v3
id: pip-cache
with:
path: ${{ steps.pip-cache-path.outputs.dir }}
key: ${{ runner.os }}-codestyle-${{ hashFiles('client/requirements-dev.txt')}}
- name: Install dependencies
working-directory: ./client
run: |
make install-dev-req
# force using pydantic v2 to do lint checking
python -m pip install -U 'pydantic==2.*'
make install-sw
- name: Black Format Check
working-directory: ./client
run: make ci-format-checker
- name: Flake8 Lint Check
working-directory: ./client
run: make ci-lint
- name: Mypy Type Check
working-directory: ./client
run: make ci-mypy
- name: Python Import Check
working-directory: ./client
run: make ci-isort
unittest:
strategy:
matrix:
python-version:
# related issue: https://github.com/actions/setup-python/issues/682
# Python 3.7.17 in MacOSX will raise "No module named _bz2" exception.
# For Example: https://github.com/star-whale/starwhale/actions/runs/5318220340/jobs/9631411188?pr=2371
- "3.7.16"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
os:
- macos-latest
- ubuntu-latest
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
needs:
- filter
if: ${{(github.event_name == 'pull_request' && needs.filter.outputs.client == 'true') || github.event_name == 'push'}}
steps:
- uses: actions/checkout@v3
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: ${{matrix.python-version}}
architecture: "x64"
- name: Get pip cache
id: pip-cache-path
run: echo "::set-output name=dir::$(pip cache dir)"
- name: Cache pip dependencies
uses: actions/cache@v3
id: pip-cache
with:
path: ${{ steps.pip-cache-path.outputs.dir }}
key: ${{ runner.os }}-unittest-${{ hashFiles('client/requirements-dev.txt')}}
- name: Install dependencies
working-directory: ./client
run: |
make install-dev-req
make install-sw
export PYDANTIC_VER=$(python -c 'import random;print(random.choice(["1.*", "2.*"]))')
echo "install ${PYDANTIC_VER} for unit tests"
python -m pip install -U "pydantic==${PYDANTIC_VER}"
- name: Git Config
run: |
git config --global user.name "starwhale-ci"
git config --global user.email "starwhale-ci@starwhale.ai"
- name: Run Unittest
working-directory: ./client
run: make ut
- name: Publish coverage to codecov
uses: codecov/codecov-action@v3
with:
name: standalone-python${{matrix.python-version}}
fail_ci_if_error: false
flags: unittests,standalone
verbose: true
directory: ./client
e2e:
strategy:
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
os:
- macos-latest
- ubuntu-latest
exclude:
# https://github.com/pytorch/pytorch/issues/86566
# pytorch does not release python 3.11 wheel package for macosx os yet.
- os: macos-latest
python-version: "3.11"
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
needs:
- filter
if: ${{ (github.event_name == 'pull_request' && needs.filter.outputs.client == 'true') || github.event_name == 'push' }}
steps:
- uses: actions/checkout@v3
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: ${{matrix.python-version}}
architecture: "x64"
- name: Get pip cache
id: pip-cache-path
run: echo "::set-output name=dir::$(pip cache dir)"
- name: Cache pip dependencies
uses: actions/cache@v3
id: pip-cache
with:
path: ${{ steps.pip-cache-path.outputs.dir }}
key: ${{ runner.os }}-e2e-${{ hashFiles('client/requirements-dev.txt')}}-${{ hashFiles('example/mnist/requirements.txt')}}
- name: Run end to end test
working-directory: .
env:
GITHUB_ACTION: 1
PYTHON_VERSION: ${{matrix.python-version}}
SKIP_UI_BUILD: 1
run: bash scripts/client_test/cli_test.sh sdk simple