# This file is autogenerated by maturin v1.3.0 # To update, run # # maturin generate-ci --pytest --zig -m pyargus/Cargo.toml github -o .github/workflows/release.yaml # name: CI on: push: branches: - dev - main tags: - '*' pull_request: workflow_dispatch: permissions: contents: read jobs: linux: runs-on: ubuntu-latest strategy: matrix: target: [x86_64, aarch64] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.10' - name: Build wheels uses: PyO3/maturin-action@v1 with: target: ${{ matrix.target }} args: --release --out dist --find-interpreter --manifest-path pyargus/Cargo.toml --zig sccache: 'true' manylinux: auto - name: Upload wheels uses: actions/upload-artifact@v3 with: name: wheels path: dist - name: pytest if: ${{ startsWith(matrix.target, 'x86_64') }} shell: bash run: | set -e pip install pyargus --find-links dist --force-reinstall pip install ./pyargus[test] cd pyargus && pytest - name: pytest if: ${{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }} uses: uraimo/run-on-arch-action@v2.5.0 with: arch: ${{ matrix.target }} distro: ubuntu22.04 githubToken: ${{ github.token }} install: | apt-get update apt-get install -y --no-install-recommends python3 python3-pip pip3 install -U pip pytest pytest-cov hypothesis run: | set -e pip3 install ./pyargus[test] pip3 install pyargus --find-links dist --force-reinstall cd pyargus && pytest windows: runs-on: windows-latest strategy: matrix: target: [x64] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.10' architecture: ${{ matrix.target }} - name: Build wheels uses: PyO3/maturin-action@v1 with: target: ${{ matrix.target }} args: --release --out dist --find-interpreter --manifest-path pyargus/Cargo.toml sccache: 'true' - name: Upload wheels uses: actions/upload-artifact@v3 with: name: wheels path: dist - name: pytest if: ${{ !startsWith(matrix.target, 'aarch64') }} shell: bash run: | set -e pip install ./pyargus[test] pip install pyargus --find-links dist --force-reinstall cd pyargus && pytest macos: runs-on: macos-latest strategy: matrix: target: [x86_64, aarch64] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.10' - name: Build wheels uses: PyO3/maturin-action@v1 with: target: ${{ matrix.target }} args: --release --out dist --find-interpreter --manifest-path pyargus/Cargo.toml sccache: 'true' - name: Upload wheels uses: actions/upload-artifact@v3 with: name: wheels path: dist - name: pytest if: ${{ !startsWith(matrix.target, 'aarch64') }} shell: bash run: | set -e pip install ./pyargus[test] pip install pyargus --find-links dist --force-reinstall cd pyargus && pytest sdist: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Build sdist uses: PyO3/maturin-action@v1 with: command: sdist args: --out dist --manifest-path pyargus/Cargo.toml - name: Upload sdist uses: actions/upload-artifact@v3 with: name: wheels path: dist release: name: Release runs-on: ubuntu-latest if: "startsWith(github.ref, 'refs/tags/')" needs: [linux, windows, macos, sdist] steps: - uses: actions/download-artifact@v3 with: name: wheels - uses: softprops/action-gh-release@v1 with: files: 'dist/*' # - name: Publish to PyPI # uses: PyO3/maturin-action@v1 # env: # MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} # with: # command: upload # args: --non-interactive --skip-existing *