Commit 215ea0d9 authored by Stefane Fermigier's avatar Stefane Fermigier

ci: work on CI config

parent bbcdf3c4
...@@ -23,118 +23,147 @@ jobs: ...@@ -23,118 +23,147 @@ jobs:
# #
# FIXME: 'cpp' tests seems to fail due to compilation errors (numpy_pythran_unit) # FIXME: 'cpp' tests seems to fail due to compilation errors (numpy_pythran_unit)
# in all python versions and test failures (builtin_float) in 3.5< # in all python versions and test failures (builtin_float) in 3.5<
os: [ubuntu-20.04, ubuntu-18.04, macos-10.15, macos-11] os: [ubuntu-18.04]
backend: [c, cpp] backend: [c, cpp]
python-version: ["3.7", "3.8", "3.9", "3.10"] python-version: [2.7, 3.6, 3.7, 3.8, 3.9]
env: [{}] env: [{}]
include: include:
# Linting # Temporary - Allow failure on all Python -dev jobs until they are considered stable
- os: ubuntu-20.04 #- python-version: 3.10-dev
# allowed_failure: true
# Ubuntu sub-jobs:
# ================
# GCC 11
- os: ubuntu-18.04
python-version: 3.9 python-version: 3.9
backend: c
env: { GCC_VERSION: 11 }
extra_hash: "-gcc11"
- os: ubuntu-18.04
python-version: 3.9
backend: cpp
env: { GCC_VERSION: 11 }
extra_hash: "-gcc11"
# Linting
- os: ubuntu-18.04
python-version: 3.7
backend: "c,cpp" backend: "c,cpp"
env: { TEST_CODE_STYLE: 1, NO_CYTHON_COMPILE: 1 } env: { TEST_CODE_STYLE: 1, NO_CYTHON_COMPILE: 1 }
extra_hash: "-codestyle" extra_hash: "-codestyle"
# Limited API
- os: ubuntu-18.04
python-version: 3.6
backend: "c,cpp"
env: { LIMITED_API: "--limited-api", EXCLUDE: "--no-file" }
extra_hash: "-limited_api"
- os: ubuntu-18.04
python-version: 3.7
backend: "c,cpp"
env: { LIMITED_API: "--limited-api", EXCLUDE: "--no-file" }
extra_hash: "-limited_api"
- os: ubuntu-18.04
python-version: 3.8
backend: "c,cpp"
env: { LIMITED_API: "--limited-api", EXCLUDE: "--no-file" }
extra_hash: "-limited_api"
# Type specs
- os: ubuntu-18.04
python-version: 3.9
backend: c
env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
extra_hash: "-typespecs"
- os: ubuntu-18.04
python-version: 3.8
backend: c
env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
extra_hash: "-typespecs"
- os: ubuntu-18.04
python-version: 3.7
backend: c
env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
extra_hash: "-typespecs"
- os: ubuntu-18.04
python-version: 3.6
backend: c
env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
extra_hash: "-typespecs"
# Stackless
- os: ubuntu-18.04
python-version: 2.7
backend: c
env: { STACKLESS: true, PY: 2 }
extra_hash: "-stackless"
- os: ubuntu-18.04
python-version: 3.6
backend: c
env: { STACKLESS: true, PY: 3 }
extra_hash: "-stackless"
# Pypy
- os: ubuntu-18.04
python-version: pypy-2.7
backend: c
env: { NO_CYTHON_COMPILE: 1 }
- os: ubuntu-18.04
python-version: pypy-3.7
backend: c
env: { NO_CYTHON_COMPILE: 1 }
# Pypy [allowed-failures] - These specifically test known bugs
- os: ubuntu-18.04
python-version: pypy-2.7
backend: c
env:
{
NO_CYTHON_COMPILE: 1,
EXCLUDE: "--listfile=tests/pypy_bugs.txt --listfile=tests/pypy2_bugs.txt bugs",
}
allowed_failure: true
extra_hash: "-allowed_failures"
- os: ubuntu-18.04
python-version: pypy-3.7
backend: c
env: { NO_CYTHON_COMPILE: 1, EXCLUDE: "--listfile=tests/pypy_bugs.txt bugs" }
allowed_failure: true
extra_hash: "-allowed_failures"
# Coverage - Disabled due to taking too long to run
# - os: ubuntu-18.04
# python-version: 3.7
# backend: "c,cpp"
# env: { COVERAGE: 1 }
# extra_hash: '-coverage'
# # Temporary - Allow failure on all Python -dev jobs until they are considered stable # MacOS sub-jobs
# - python-version: "3.10" # ==============
# allowed_failure: true # (C-only builds are used to create wheels)
- os: macos-10.15
# # Ubuntu sub-jobs: python-version: 2.7
# # ================ backend: c
# # GCC 11 env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: ubuntu-18.04 - os: macos-10.15
# python-version: 3.9 python-version: 2.7
# backend: c backend: cpp
# env: { GCC_VERSION: 11 } env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# extra_hash: "-gcc11" - os: macos-10.15
# - os: ubuntu-18.04 python-version: 3.6
# python-version: 3.9 backend: c
# backend: cpp env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# env: { GCC_VERSION: 11 } - os: macos-10.15
# extra_hash: "-gcc11" python-version: 3.7
# # Limited API backend: c
# - os: ubuntu-18.04 env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# python-version: 3.7 - os: macos-10.15
# backend: "c,cpp" python-version: 3.8
# env: { LIMITED_API: "--limited-api", EXCLUDE: "--no-file" } backend: c
# extra_hash: "-limited_api" env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: ubuntu-18.04 - os: macos-10.15
# python-version: 3.8 python-version: 3.9
# backend: "c,cpp" backend: c
# env: { LIMITED_API: "--limited-api", EXCLUDE: "--no-file" } env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# extra_hash: "-limited_api" - os: macos-10.15
# # Type specs python-version: 3.9
# - os: ubuntu-18.04 backend: cpp
# python-version: 3.9 env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# backend: c
# env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
# extra_hash: "-typespecs"
# - os: ubuntu-18.04
# python-version: 3.8
# backend: c
# env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
# extra_hash: "-typespecs"
# - os: ubuntu-18.04
# python-version: 3.7
# backend: c
# env: { EXTRA_CFLAGS: "-DCYTHON_USE_TYPE_SPECS=1" }
# extra_hash: "-typespecs"
# # Pypy
# - os: ubuntu-18.04
# python-version: pypy-3.7
# backend: c
# env: { NO_CYTHON_COMPILE: 1 }
# # Pypy [allowed-failures] - These specifically test known bugs
# - os: ubuntu-18.04
# python-version: pypy-3.7
# backend: c
# env: { NO_CYTHON_COMPILE: 1, EXCLUDE: "--listfile=tests/pypy_bugs.txt bugs" }
# allowed_failure: true
# extra_hash: "-allowed_failures"
#
# # Coverage - Disabled due to taking too long to run
# # - os: ubuntu-18.04
# # python-version: 3.7
# # backend: "c,cpp"
# # env: { COVERAGE: 1 }
# # extra_hash: '-coverage'
#
# # MacOS sub-jobs
# # ==============
# # (C-only builds are used to create wheels)
# - os: macos-10.15
# python-version: 3.7
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-10.15
# python-version: 3.8
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-10.15
# python-version: 3.9
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-10.15
# python-version: 3.9
# backend: cpp
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-11
# python-version: 3.7
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-11
# python-version: 3.8
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-11
# python-version: 3.9
# backend: c
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# - os: macos-11
# python-version: 3.9
# backend: cpp
# env: { MACOSX_DEPLOYMENT_TARGET: 10.14 }
# This defaults to 360 minutes (6h) which is way too long and if a test gets stuck, it can block other pipelines. # This defaults to 360 minutes (6h) which is way too long and if a test gets stuck, it can block other pipelines.
# From testing, the runs tend to take ~20 minutes, so a limit of 30 minutes should be enough. This can always be # From testing, the runs tend to take ~20 minutes, so a limit of 30 minutes should be enough. This can always be
...@@ -247,4 +276,3 @@ jobs: ...@@ -247,4 +276,3 @@ jobs:
# with: # with:
# name: cycoverage_html # name: cycoverage_html
# path: coverage-report-html # path: coverage-report-html
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment