This repository has been archived by the owner on Dec 7, 2023. It is now read-only.
build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /demo/www #313
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build manylinux | |
on: | |
push: | |
jobs: | |
build: | |
if: contains(github.event.head_commit.message, '[skip ci]') == false | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- 3.7 | |
- 3.8 | |
- 3.9 | |
container: | |
image: quay.io/pypa/manylinux2010_x86_64 | |
env: | |
PATH: /root/.cargo/bin:/root/.local/bin:/opt/python/cp36-cp36m/bin:/opt/python/cp37-cp37m/bin:/opt/python/cp38-cp38/bin:/opt/rh/devtoolset-2/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/python/cp35-cp35m/bin:/opt/python/cp36-cp36m/bin:/opt/python/cp37-cp37m/bin:/opt/python/cp38-cp38/bin:/opt/python/cp39-cp39/bin:/opt/rh/devtoolset-8/root/usr/bin | |
options: --user root | |
env: | |
HOME: /root | |
PYTHON: python${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install rust | |
run: | | |
curl --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal | |
- name: Test rust lib | |
run: cargo test | |
- name: Install dependencies with pip | |
working-directory: python | |
run: | | |
$PYTHON -m pip install --upgrade pip | |
$PYTHON -m venv .venv | |
$PYTHON -m pip install poetry maturin | |
poetry install | |
poetry run which python | |
- name: Build python package | |
working-directory: python | |
run: poetry run maturin develop | |
- name: Test with pytest | |
working-directory: python | |
run: poetry run pytest | |
- name: Install publishment tool | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/python/') | |
working-directory: python | |
run: $PYTHON -m pip install twine auditwheel | |
- name: Build | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/python/') | |
working-directory: python | |
run: | | |
maturin build --no-sdist --release --strip -i $PYTHON | |
find target/ -type f -name "*whl" -exec $PYTHON -m auditwheel repair {} \; | |
- name: Publish test pypi | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/python/') | |
working-directory: python | |
run: | | |
twine upload target/wheels/*whl --repository-url https://test.pypi.org/legacy/ -u ${{ secrets.TEST_PYPI_USER }} -p ${{ secrets.TEST_PYPI_PASS }} | |
- name: Publish pypi | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/python/') | |
working-directory: python | |
run: | | |
twine upload target/wheels/*whl -u ${{ secrets.PYPI_USER }} -p ${{ secrets.PYPI_PASS }} | |
build-aarch64: | |
strategy: | |
matrix: | |
pyver: [cp37-cp37m, cp38-cp38, cp39-cp39] | |
runs-on: ubuntu-latest | |
env: | |
py: /opt/python/${{ matrix.pyver }}/bin/python | |
img: quay.io/pypa/manylinux2014_aarch64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up QEMU | |
id: qemu | |
uses: docker/setup-qemu-action@v1 | |
- name: Build Wheel | |
run: | | |
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \ | |
${{ env.img }} \ | |
bash -exc '${{ env.py }} -m venv .env && \ | |
source .env/bin/activate && \ | |
curl --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal && \ | |
source $HOME/.cargo/env && \ | |
cargo test && \ | |
pip install --upgrade pip && \ | |
pip install poetry maturin && \ | |
cd python && \ | |
poetry install && \ | |
poetry run which python && \ | |
poetry run maturin develop && \ | |
poetry run pytest && \ | |
maturin build --no-sdist --release --strip -i ${{ env.py }} && \ | |
for WHL in target/wheels/*whl; do auditwheel repair ${WHL}; done && \ | |
twine upload target/wheels/*manylinux2014_aarch64.whl --repository-url https://test.pypi.org/legacy/ -u ${{ secrets.TEST_PYPI_USER }} -p ${{ secrets.TEST_PYPI_PASS }} && \ | |
twine upload target/wheels/*manylinux2014_aarch64.whl -u ${{ secrets.PYPI_USER }} -p ${{ secrets.PYPI_PASS }} && \ | |
deactivate' |