Start .devx.cli
extensions for pop CLI frameworks
#1256
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
name: CI | |
on: | |
# any time someone pushes a new branch to origin | |
push: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
mypy: | |
name: 'MyPy' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- name: Install dependencies | |
run: pip install -U . --upgrade-strategy eager -r requirements-test.txt | |
- name: Run MyPy check | |
run: mypy tractor/ --ignore-missing-imports --show-traceback | |
# test that we can generate a software distribution and install it | |
# thus avoid missing file issues after packaging. | |
sdist-linux: | |
name: 'sdist' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- name: Build sdist | |
run: python setup.py sdist --formats=zip | |
- name: Install sdist from .zips | |
run: python -m pip install dist/*.zip | |
testing-linux: | |
name: '${{ matrix.os }} Python ${{ matrix.python }} - ${{ matrix.spawn_backend }}' | |
timeout-minutes: 10 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python: ['3.10'] | |
spawn_backend: [ | |
'trio', | |
'mp_spawn', | |
'mp_forkserver', | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '${{ matrix.python }}' | |
- name: Install dependencies | |
run: pip install -U . -r requirements-test.txt -r requirements-docs.txt --upgrade-strategy eager | |
- name: List dependencies | |
run: pip list | |
- name: Run tests | |
run: pytest tests/ --spawn-backend=${{ matrix.spawn_backend }} -rsx | |
# We skip 3.10 on windows for now due to not having any collabs to | |
# debug the CI failures. Anyone wanting to hack and solve them is very | |
# welcome, but our primary user base is not using that OS. | |
# TODO: use job filtering to accomplish instead of repeated | |
# boilerplate as is above XD: | |
# - https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows | |
# - https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
# - https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idif | |
# testing-windows: | |
# name: '${{ matrix.os }} Python ${{ matrix.python }} - ${{ matrix.spawn_backend }}' | |
# timeout-minutes: 12 | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: [windows-latest] | |
# python: ['3.10'] | |
# spawn_backend: ['trio', 'mp'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v2 | |
# - name: Setup python | |
# uses: actions/setup-python@v2 | |
# with: | |
# python-version: '${{ matrix.python }}' | |
# - name: Install dependencies | |
# run: pip install -U . -r requirements-test.txt -r requirements-docs.txt --upgrade-strategy eager | |
# # TODO: pretty sure this solves debugger deps-issues on windows, but it needs to | |
# # be verified by someone with a native setup. | |
# # - name: Force pyreadline3 | |
# # run: pip uninstall pyreadline; pip install -U pyreadline3 | |
# - name: List dependencies | |
# run: pip list | |
# - name: Run tests | |
# run: pytest tests/ --spawn-backend=${{ matrix.spawn_backend }} -rsx |