Skip to content

Updated rapidjson

Updated rapidjson #195

Workflow file for this run

# -*- coding: utf-8 -*-
# :Project: python-rapidjson -- Github Actions configuration
# :Created: Fri Oct 2 06:52:59 2020 CEST
# :Author: Martin Thoma <[email protected]>
# :License: MIT License
# :Copyright: © 2020 Martin Thoma
# :Copyright: © 2020, 2021, 2022, 2023 Lele Gaifax
#
# For more information see:
# https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# and
# https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
name: Build, test and upload to PyPI
on:
push:
branches: [ yggdrasil ]
pull_request:
branches: [ yggdrasil ]
jobs:
tests:
name: All tests, on current Python
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r requirements-test.txt
pip install .
- name: Tests
run: |
pytest tests
- name: Doctests
run: |
make -C docs doctest -e PYTHON=$(which python3)
debug-tests:
name: Memory leak tests, on current debug build Python
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: deadsnakes/[email protected]
with:
python-version: ${{ matrix.python-version }}
debug: true
- name: Install dependencies
run: |
pip install -r requirements-test.txt
pip install .
- run: |
pytest tests
build_wheels:
name: Build wheels on ${{matrix.arch}} for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
- macos-12
- windows-2019
arch:
- auto
include:
- os: ubuntu-22.04
arch: aarch64
# - os: ubuntu-22.04
# arch: ppc64le
fail-fast: false
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: true
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- uses: docker/setup-qemu-action@v2
if: ${{ matrix.arch == 'aarch64' || matrix.arch == 'ppc64le' }}
name: Set up QEMU
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_ARCHS_LINUX: ${{matrix.arch}}
CIBW_TEST_REQUIRES: "pytest pytest-benchmark pytz"
CIBW_TEST_COMMAND: "pytest {project}/tests"
CIBW_SKIP: "cp2* cp33* cp34* cp35* cp36* pp* cp310-manylinux_i686 cp311-manylinux_i686 *-musllinux_*"
CIBW_ENVIRONMENT: "PIP_ONLY_BINARY=numpy"
CIBW_BEFORE_BUILD: pip install oldest-supported-numpy
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
# upload_wheels:
# name: Upload wheels
# needs: build_wheels
# runs-on: ubuntu-latest
# # Upload to PyPI on every tag starting with 'v'
# # FIXME: for some reason, the job is skipped, although the configuration is
# # almost identical to the one I use on pglast... let's try to temporarily
# # remove the condition
# #if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
# steps:
# - uses: actions/download-artifact@v3
# with:
# name: artifact
# path: dist
# - uses: pypa/gh-action-pypi-publish@master
# with:
# user: __token__
# password: ${{ secrets.PYPI_API_TOKEN }}