Skip to content

Merge pull request #14 from shazamio/feat/add_segment_duration #151

Merge pull request #14 from shazamio/feat/add_segment_duration

Merge pull request #14 from shazamio/feat/add_segment_duration #151

Workflow file for this run

name: shazamio-core CI
on:
workflow_dispatch:
push:
branches:
- 'master'
tags:
- '*'
permissions:
contents: write
pages: write
id-token: write
jobs:
# windows:
# runs-on: windows-latest
# strategy:
# matrix:
# python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
# target: [ x64, x86 ]
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# architecture: ${{ matrix.target }}
# - name: Build wheels
# uses: PyO3/maturin-action@v1
# with:
# target: ${{ matrix.target }}
# args: --release --out dist/dist --interpreter python${{ matrix.python-version }}
# sccache: 'true'
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels
# path: dist
macos:
runs-on: macos-latest
strategy:
matrix:
include:
- name: x86_64
target: x86_64-apple-darwin
arch: x86_64
# - name: aarch64
# target: aarch64-apple-darwin
# arch: arm64
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist/dist --interpreter python${{ matrix.python-version }}
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
linux:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- docker_file: docker/Dockerfile.manylinux_2_28_ARM64
name: manylinux-arm
arch: linux/arm64
# - docker_file: docker/Dockerfile.manylinux_2_28_X64
# name: manylinux-x86
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up docker buildx
uses: docker/setup-buildx-action@v3
- name: Build docker image
uses: docker/build-push-action@v5
with:
file: ${{ matrix.docker_file }}
platforms: ${{ matrix.arch }}
tags: shazamio_core
push: false
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- name: Copy wheels
run: docker run --rm -v $(pwd)/dist:/tmp shazamio_core cp -R /opt/dist /tmp
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: dist
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'"
needs: [ sdist, macos, linux ]
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 dist/*
- name: Attach Artifacts to the release
uses: softprops/action-gh-release@v1
with:
files: |
dist/*.whl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}