Skip to content

.github/workflows/CI.yml #47

.github/workflows/CI.yml

.github/workflows/CI.yml #47

Workflow file for this run

on:
push:
branches:
- main
tags:
- '*'
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
- name: Setup Conda Environment
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: CI/env.yaml
activate-environment: test-environment
auto-activate-base: false
- name: install
shell: bash -l {0}
run: |
pip install --no-cache-dir akimbo[test]
pip install git+https://github.com/intake/akimbo
pip install .
- name: test
shell: bash -l {0}
run: pytest -v
linux:
runs-on: ubuntu-latest
needs: test
strategy:
matrix:
target: [x86_64, x86] #, aarch64, armv7, s390x, ppc64le]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --strip --out dist --find-interpreter
sccache: 'true'
manylinux: auto
before-script-linux: yum install -y libatomic
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
overwrite: true
windows:
runs-on: windows-latest
needs: test
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
overwrite: true
macos:
runs-on: macos-latest
needs: test
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
overwrite: true
sdist:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
overwrite: true
# release:
# name: Release
# runs-on: ubuntu-latest
# if: "startsWith(github.ref, 'refs/tags/')"
# needs: [test, linux, windows, macos, sdist]
# steps:
# - uses: actions/download-artifact@v3
# with:
# name: wheels
# - name: Publish to PyPI
# uses: PyO3/maturin-action@v1
# env:
# MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
# with:
# command: upload
# args: --skip-existing *