Skip to content

CI: remove call to bootstrap.sh #585

CI: remove call to bootstrap.sh

CI: remove call to bootstrap.sh #585

Workflow file for this run

name: Unit tests
on: [push, pull_request]
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
test-cxx:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
cxx: g++-9
extras: enable
- os: ubuntu-22.04
cxx: g++-12
extras: enable
- os: ubuntu-20.04
cxx: clang++-10
extras: enable
- os: ubuntu-22.04
cxx: clang++-14
extras: enable
- os: macos-12
cxx: clang++
extras: disable
runs-on: ${{ matrix.os }}
env:
CXX: ${{ matrix.cxx }}
# Don't error on deprecations: Xcode marks sprintf deprecated and Boost references it
CXXFLAGS: -Wno-error=deprecated-declarations
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-cxx-ccache-${{ hashFiles('**') }}
restore-keys: |
${{ runner.os }}-cxx-ccache-
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- name: Set up ccache
run: ./.ci/ccache-path.sh
- uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install build requirements
run: ./.ci/py-build-requirements.sh
- name: Set up build directory
run: meson setup build -Dwerror=true -Dauto_features=${{ extras }}

Check failure on line 50 in .github/workflows/test.yml

View workflow run for this annotation

GitHub Actions / Unit tests

Invalid workflow file

The workflow is not valid. .github/workflows/test.yml (Line: 50, Col: 14): Unrecognized named-value: 'extras'. Located at position 1 within expression: extras
- name: Build
run: meson compile
- name: Run tests
run: meson test
- name: Show ccache stats
run: ccache -s
test-python:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
cc: gcc-9
cxx: g++-9
python-version: '3.8'
# Disabled for now because numba/llvmlite (needed for tests)
# doesn't have a pypy wheel, and it's not worth the effect to
# install all the dependencies needed to make that work.
# - os: ubuntu-22.04
# cxx: g++
# python-version: pypy-3.7
- os: ubuntu-22.04
cc: gcc-12
cxx: g++-12
python-version: '3.12.0-rc.1'
- os: ubuntu-20.04
cc: clang-10
cxx: clang++-10
python-version: '3.12.0-rc.1'
- os: ubuntu-22.04
cc: clang-14
cxx: clang++-14
python-version: '3.12.0-rc.1'
- os: macos-12
cc: clang
cxx: clang++
python-version: '3.12.0-rc.1'
runs-on: ${{ matrix.os }}
env:
CXX: ${{ matrix.cxx }}
# Don't error on deprecations: Xcode marks sprintf deprecated and Boost references it
CXXFLAGS: -Wno-error=deprecated-declarations
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-py-ccache-${{ hashFiles('**') }}
restore-keys: |
${{ runner.os }}-py-ccache-
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
${{ runner.os }}-pip-
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- name: Set up ccache
run: ./.ci/ccache-path.sh
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: ./.ci/py-requirements.sh
env:
CC: ${{ matrix.cc }} # Do not pass -Werror when building dependencies
- run: pip install -v .
- name: Run tests
run: ./.ci/py-tests.sh
# Skip pip-compile because not all configurations have a python3.8 binary
- run: SKIP=pip-compile pre-commit run --all-files
- name: Show ccache stats
run: ccache -s
coverage:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-coverage-ccache-${{ hashFiles('**') }}
restore-keys: |
${{ runner.os }}-coverage-ccache-
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- name: Set up ccache
run: ./.ci/ccache-path.sh
- uses: actions/setup-python@v4
with:
python-version: '3.11' # TODO: update to 3.12 after release
- name: Install Python dependencies
run: ./.ci/py-requirements.sh
- name: Install Python module
run: >-
pip install -v
--config-settings=setup-args=-Dwerror=true
--config-settings=setup-args=-Dauto_features=enable
--config-settings=setup-args=-Dbuildtype=debug
--config-settings=setup-args=-Db_coverage=true
- name: Run Python tests
run: ./.ci/py-tests.sh
- name: Install build requirements
run: ./.ci/py-build-requirements.sh
- name: Set up C++ build
run: meson setup build -Dwerror=true -Dauto_features=enable -Dbuildtype=debug -Db_coverage=true
- name: Build C++
run: meson compile
- name: Run C++ tests
run: meson test
- name: Collect coverage
run: ./.ci/coverage.sh
- uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: lcov.info
- name: Show ccache stats
run: ccache -s
sdist:
needs: [test-cxx, test-python, coverage]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-3.11-${{ hashFiles('requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-3.11-
${{ runner.os }}-pip-
- uses: actions/setup-python@v4
with:
python-version: '3.11' # TODO: update to 3.12 after release
- name: Install Python dependencies
run: ./.ci/py-requirements.sh
- run: pip install build==0.10.0
- run: python -m build --sdist .
- uses: actions/upload-artifact@v3
with:
name: sdist
path: ./dist/*.tar.gz
cibuildwheel:
needs: [test-cxx, test-python, coverage]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: pypa/cibuildwheel@v2.15.0
- uses: actions/upload-artifact@v3
with:
name: wheels
path: ./wheelhouse/*.whl
- name: Tar debug symbols
run: cd wheelhouse && tar -Jcvf "spead2-$(sed 's/.*"\(.*\)"/\1/' ../src/spead2/_version.py)-debug.tar.xz" _spead2*.debug
- uses: actions/upload-artifact@v3
with:
name: debug_symbols
path: ./wheelhouse/spead2-*-debug.tar.xz