Skip to content

Commit

Permalink
Debug1
Browse files Browse the repository at this point in the history
  • Loading branch information
bmerry committed Jul 29, 2024
1 parent a252835 commit eca307a
Showing 1 changed file with 2 additions and 216 deletions.
218 changes: 2 additions & 216 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
cxx: g++-9
extras: enabled
- os: ubuntu-22.04
cxx: g++-12
extras: enabled
- os: ubuntu-20.04
cxx: clang++-10
extras: enabled
- os: ubuntu-22.04
cxx: clang++-14
extras: enabled
- os: macos-14
cxx: clang++
extras: disabled
Expand Down Expand Up @@ -62,32 +50,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
cc: gcc-9
cxx: g++-9
python-version: '3.8'
extras: enabled
# 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'
extras: enabled
- os: ubuntu-20.04
cc: clang-10
cxx: clang++-10
python-version: '3.12'
extras: enabled
- os: ubuntu-22.04
cc: clang-14
cxx: clang++-14
python-version: '3.12'
extras: enabled
- os: macos-14
cc: clang
cxx: clang++
Expand Down Expand Up @@ -126,155 +88,12 @@ jobs:
- name: Run shutdown tests
run: ./.ci/py-tests-shutdown.sh

lint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- uses: actions/setup-python@v5
with:
python-version: '3.8'
cache: 'pip'
- run: pip install pre-commit
- run: pre-commit run --all-files

coverage:
runs-on: ubuntu-22.04
env:
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v4
- name: Set up sccache
uses: mozilla-actions/[email protected]
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install Python dependencies
run: ./.ci/py-requirements.sh
- name: Install build requirements
run: ./.ci/py-build-requirements.sh
- name: Install Python package
# Build isolation tends to delete the .gcno files which end up in
# the ephemeral build directory. So do a non-isolated editable
# install instead.
run: >-
pip install -v
--config-settings=setup-args=-Dwerror=true
--config-settings=setup-args=-Dauto_features=enabled
--config-settings=setup-args=-Dbuildtype=debug
--config-settings=setup-args=-Db_coverage=true
--no-build-isolation
--editable .
- name: Run Python tests
run: pytest -v -ra && ./.ci/py-tests-shutdown.sh
- name: Set up C++ build
run: >-
meson setup build
-Dwerror=true
-Dauto_features=enabled
-Dcuda=disabled
-Dgdrapi=disabled
-Dbuildtype=debug
-Db_coverage=true
- name: Build C++
run: meson compile -C build
- name: Run C++ tests
run: meson test -C build
- name: Collect coverage
run: ./.ci/coverage.sh
- uses: coverallsapp/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: lcov.info

all-builds:
runs-on: ubuntu-22.04
env:
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- uses: actions/checkout@v4
- name: Set up sccache
uses: mozilla-actions/[email protected]
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install build requirements
run: ./.ci/py-build-requirements.sh
- name: Build all the combinations
run: ./.ci/all-builds.sh

sdist:
needs: [test-cxx, test-python, coverage, lint]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install system packages
run: ./.ci/install-sys-pkgs.sh
- 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@v4
with:
name: sdist
path: ./dist/*.tar.gz

cibuildwheel-linux:
needs: [test-cxx, test-python, coverage, lint]
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
arch: [x86_64, aarch64]
python: [cp38, cp39, cp310, cp311, cp312]
env:
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v4
- name: Set up sccache
uses: mozilla-actions/[email protected]
- uses: docker/setup-qemu-action@v3
with:
platforms: arm64
if: matrix.arch != 'x86_64'
- uses: pypa/[email protected]
env:
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BUILD: ${{ matrix.python }}-manylinux*
- uses: actions/upload-artifact@v4
with:
name: wheel_linux-${{ matrix.arch }}-${{ matrix.python }}
path: ./wheelhouse/*.whl
- uses: actions/upload-artifact@v4
with:
name: debug_symbols_uncompressed-${{ matrix.arch }}-${{ matrix.python }}
path: ./wheelhouse/*.debug

cibuildwheel-macos:
needs: [test-cxx, test-python, coverage, lint]
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-14]
python: [cp38, cp39, cp310, cp311, cp312]
os: [macos-14]
python: [cp312]
exclude:
# Python 3.8 not natively available for Apple Silicon. cibuildwheel
# tries to do a cross build, which fails.
Expand All @@ -294,36 +113,3 @@ jobs:
with:
name: wheel_macos-${{ matrix.os }}-${{ matrix.python }}
path: ./wheelhouse/*.whl

combine:
needs: [cibuildwheel-linux, cibuildwheel-macos, sdist]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Create paths
run: mkdir -p debug-symbols dist wheelhouse
- uses: actions/download-artifact@v4
with:
pattern: debug_symbols_uncompressed-*
path: .
merge-multiple: true
- uses: actions/download-artifact@v4
with:
pattern: wheel_*
path: wheelhouse/
merge-multiple: true
- uses: actions/download-artifact@v4
with:
name: sdist
path: dist/
merge-multiple: true
- name: Compress debug symbols
run: >-
tar -Jcvf debug-symbols/"spead2-"$(<VERSION.txt)-debug.tar.xz _spead2*.debug
- uses: actions/upload-artifact@v4
with:
name: combined
path: |
debug-symbols/
dist/
wheelhouse/

0 comments on commit eca307a

Please sign in to comment.