Skip to content

Fix output directory path in CI workflow for wheel uploads and disabl… #167

Fix output directory path in CI workflow for wheel uploads and disabl…

Fix output directory path in CI workflow for wheel uploads and disabl… #167

Workflow file for this run

name: shazamio-core CI
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'dev'
tags:
- '*'
permissions:
contents: write
pages: write
id-token: write
jobs:
# windows:
# runs-on: windows-latest
# strategy:
# matrix:
# python-version: [ "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 --interpreter python${{ matrix.python-version }}
# sccache: 'true'
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.target }}
# path: dist
#
# macos:
# runs-on: macos-latest
# strategy:
# matrix:
# include:
# - name: x86_64
# os: macos
# target: x86_64-apple-darwin
# arch: x86_64
# - name: aarch64
# os: macos
# target: aarch64-apple-darwin
# arch: arm64
# python-version: [ "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 --interpreter python${{ matrix.python-version }}
# sccache: 'true'
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.target }}
# 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: List /opt directory
run: docker run --rm shazamio_core ls -la /opt
- name: List /opt/dist directory
run: docker run --rm shazamio_core ls -la /opt/dist
- 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-${{ runner.os }}-${{ matrix.name }}
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-sdist
path: dist
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'"
# needs: [ sdist, macos, linux, windows ]
needs: [ sdist, linux]
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist
- 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 }}