Skip to content

Feature/immutable (#468) #32

Feature/immutable (#468)

Feature/immutable (#468) #32

name: Build and Deploy Packages
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v3
- run: python3 scripts/generate_meson.py ./src/dbzero/ core
- run: python3 scripts/generate_meson_tests.py tests/
- run: python3 scripts/generate_meson_dbzero.py dbzero/
- run: git config --global user.email "you@example.com"
- run: git config --global user.name "Your Name"
- run: rm .gitignore
- run: git add . && git commit -m "Update meson files"
- run: pip install build
- run: python3 -m build
env:
CIBW_SKIP: pp* cp36-* *-musllinux*
CIBW_ARCHS_MACOS: x86_64 arm64
CIBW_ARCHS_LINUX: x86_64 aarch64
CIBW_ARCHS_WINDOWS: ${{ matrix.architecture }}
- uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.python-version }}
path: dist/*.whl
test-wheels-linux:
runs-on: ubuntu-latest
timeout-minutes: 15
needs: build-linux
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Download wheel artifact
uses: actions/download-artifact@v4
with:
name: wheels-linux-${{ matrix.python-version }}
path: ./wheels/
- name: Install wheel and dependencies
run: |
pip install pytest
pip install -r requirements.txt
pip install ./wheels/*.whl
- name: Run tests
run: |
python -m pytest -m 'not integration_test' -m 'not stress_test' -c pytest.ini --capture=no -vv