Skip to content

import from correct location #5330

import from correct location

import from correct location #5330

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- "dependabot/**"
pull_request:
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && format('-{0}', github.sha) || '' }}
cancel-in-progress: true
jobs:
# Windows:
# name: 'Windows (${{ matrix.python }}, ${{ matrix.arch }}${{ matrix.extra_name }})'
# timeout-minutes: 20
# runs-on: 'windows-latest'
# strategy:
# fail-fast: false
# matrix:
# # pypy 3.9 and 3.10 are failing, see https://github.com/python-trio/trio/issues/2678 and https://github.com/python-trio/trio/issues/2776 respectively
# python: ['3.8', '3.9', '3.10'] #, 'pypy-3.9-nightly', 'pypy-3.10-nightly']
# arch: ['x86', 'x64']
# lsp: ['']
# lsp_extract_file: ['']
# extra_name: ['']
# exclude:
# # pypy does not release 32-bit binaries
# - python: 'pypy-3.9-nightly'
# arch: 'x86'
# #- python: 'pypy-3.10-nightly'
# # arch: 'x86'
# include:
# - python: '3.8'
# arch: 'x64'
# lsp: 'https://raw.githubusercontent.com/python-trio/trio-ci-assets/master/komodia-based-vpn-setup.zip'
# lsp_extract_file: 'komodia-based-vpn-setup.exe'
# extra_name: ', with Komodia LSP'
# - python: '3.8'
# arch: 'x64'
# lsp: 'https://www.proxifier.com/download/legacy/ProxifierSetup342.exe'
# lsp_extract_file: ''
# extra_name: ', with IFS LSP'
# #- python: '3.8'
# # arch: 'x64'
# # lsp: 'http://download.pctools.com/mirror/updates/9.0.0.2308-SDavfree-lite_en.exe'
# # lsp_extract_file: ''
# # extra_name: ', with non-IFS LSP'
# continue-on-error: >-
# ${{
# (
# endsWith(matrix.python, '-dev')
# || endsWith(matrix.python, '-nightly')
# )
# && true
# || false
# }}
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Setup python
# uses: actions/setup-python@v4
# with:
# # This allows the matrix to specify just the major.minor version while still
# # expanding it to get the latest patch version including alpha releases.
# # This avoids the need to update for each new alpha, beta, release candidate,
# # and then finally an actual release version. actions/setup-python doesn't
# # support this for PyPy presently so we get no help there.
# #
# # 'CPython' -> '3.9.0-alpha - 3.9.X'
# # 'PyPy' -> 'pypy-3.9'
# python-version: ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
# architecture: '${{ matrix.arch }}'
# cache: pip
# cache-dependency-path: test-requirements.txt
# - name: Run tests
# run: ./ci.sh
# shell: bash
# env:
# LSP: '${{ matrix.lsp }}'
# LSP_EXTRACT_FILE: '${{ matrix.lsp_extract_file }}'
# - if: always()
# uses: codecov/codecov-action@v3
# with:
# directory: empty
# token: 87cefb17-c44b-4f2f-8b30-1fff5769ce46
# name: Windows (${{ matrix.python }}, ${{ matrix.arch }}${{ matrix.extra_name }})
# flags: Windows,${{ matrix.python }}
#
# Ubuntu:
# name: 'Ubuntu (${{ matrix.python }}${{ matrix.extra_name }})'
# timeout-minutes: 10
# runs-on: 'ubuntu-latest'
# strategy:
# fail-fast: false
# matrix:
# python: ['pypy-3.9', 'pypy-3.10', '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.9-nightly', 'pypy-3.10-nightly']
# check_formatting: ['0']
# no_test_requirements: ['0']
# extra_name: ['']
# include:
# - python: '3.8'
# check_formatting: '1'
# extra_name: ', check formatting'
# # separate test run that doesn't install test-requirements.txt
# - python: '3.8'
# no_test_requirements: '1'
# extra_name: ', no test-requirements'
# continue-on-error: >-
# ${{
# (
# endsWith(matrix.python, '-dev')
# || endsWith(matrix.python, '-nightly')
# )
# && true
# || false
# }}
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Setup python
# uses: actions/setup-python@v4
# if: "!endsWith(matrix.python, '-dev')"
# with:
# python-version: ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
# cache: pip
# cache-dependency-path: test-requirements.txt
# - name: Setup python (dev)
# uses: deadsnakes/[email protected]
# if: endsWith(matrix.python, '-dev')
# with:
# python-version: '${{ matrix.python }}'
# - name: Run tests
# run: ./ci.sh
# env:
# CHECK_FORMATTING: '${{ matrix.check_formatting }}'
# NO_TEST_REQUIREMENTS: '${{ matrix.no_test_requirements }}'
# - if: always()
# uses: codecov/codecov-action@v3
# with:
# directory: empty
# token: 87cefb17-c44b-4f2f-8b30-1fff5769ce46
# name: Ubuntu (${{ matrix.python }}${{ matrix.extra_name }})
# flags: Ubuntu,${{ matrix.python }}
#
# macOS:
# name: 'macOS (${{ matrix.python }})'
# timeout-minutes: 15
# runs-on: 'macos-latest'
# strategy:
# fail-fast: false
# matrix:
# python: ['3.8', '3.9', '3.10', 'pypy-3.9-nightly', 'pypy-3.10-nightly']
# continue-on-error: >-
# ${{
# (
# endsWith(matrix.python, '-dev')
# || endsWith(matrix.python, '-nightly')
# )
# && true
# || false
# }}
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Setup python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
# cache: pip
# cache-dependency-path: test-requirements.txt
# - name: Run tests
# run: ./ci.sh
# - if: always()
# uses: codecov/codecov-action@v3
# with:
# directory: empty
# token: 87cefb17-c44b-4f2f-8b30-1fff5769ce46
# name: macOS (${{ matrix.python }})
# flags: macOS,${{ matrix.python }}
#
# # run CI on a musl linux
# Alpine:
# name: "Alpine"
# runs-on: ubuntu-latest
# container: alpine
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Install necessary packages
# # can't use setup-python because that python doesn't seem to work;
# # `python3-dev` (rather than `python:alpine`) for some ctypes reason,
# # `nodejs` for pyright (`node-env` pulls in nodejs but that takes a while and can time out the test).
# run: apk update && apk add python3-dev bash nodejs
# - name: Enter virtual environment
# run: python -m venv .venv
# - name: Run tests
# run: source .venv/bin/activate && ./ci.sh
# - if: always()
# uses: codecov/codecov-action@v3
# with:
# directory: empty
# token: 87cefb17-c44b-4f2f-8b30-1fff5769ce46
# name: Alpine
# flags: Alpine,3.12
Cython:
name: "Cython"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup python
uses: actions/setup-python@v4
- name: install cython
run: |
python -m pip install --upgrade pip
python -m pip install cython
- name: install trio
# use -e?
run: python -m pip install .
- name: compile pyx file
run: cythonize -i tests/cython/test_cython.pyx
- name: import & run module
run: python -c 'import tests.cython.test_cython'
# https://github.com/marketplace/actions/alls-green#why
check: # This job does nothing and is only used for the branch protection
if: always()
needs:
#- Windows
#- Ubuntu
#- macOS
#- Alpine
- Cython
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}