CI #52
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
# This file is autogenerated by maturin v1.3.1 | |
# To update, run | |
# | |
# maturin generate-ci github | |
# | |
name: CI | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: "バージョン情報(A.BB.C / A.BB.C-preview.D)" | |
required: true | |
release: | |
types: | |
- published | |
env: | |
VERSION: ${{ github.event.release.tag_name || inputs.version || '0.0.0' }} | |
permissions: | |
contents: read | |
jobs: | |
version: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install cargo-binstall | |
uses: taiki-e/install-action@cargo-binstall | |
- name: Install cargo-edit | |
run: cargo binstall cargo-edit@^0.11 --no-confirm --log-level debug | |
- name: set cargo version | |
run: | | |
cargo set-version "$VERSION" --exclude voicevox_core_python_api --exclude downloader --exclude xtask | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: projects | |
path: ./ | |
linux: | |
runs-on: ubuntu-latest | |
needs: version | |
strategy: | |
matrix: | |
target: [x86_64, aarch64] | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: projects | |
- 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 --locked --manifest-path crates/voicevox_core_python_api/Cargo.toml --find-interpreter | |
sccache: 'true' | |
manylinux: auto | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: dist | |
windows: | |
runs-on: windows-latest | |
needs: version | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: projects | |
- 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 --locked --manifest-path crates/voicevox_core_python_api/Cargo.toml --find-interpreter | |
sccache: 'true' | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: dist | |
macos: | |
runs-on: macos-latest | |
needs: version | |
strategy: | |
matrix: | |
target: [x86_64] | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: projects | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- uses: dtolnay/rust-toolchain@stable | |
- run: | | |
pip install --upgrade poetry | |
poetry config virtualenvs.create false | |
(cd crates/voicevox_core_python_api && poetry install --with dev) | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist --locked --manifest-path crates/voicevox_core_python_api/Cargo.toml --find-interpreter | |
sccache: 'true' | |
- name: Upload wheels | |
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] | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheels | |
path: dist/ | |
- name: Publish to PyPI | |
uses: PyO3/maturin-action@v1 | |
with: | |
command: upload | |
args: --non-interactive --skip-existing dist/* | |
env: | |
MATURIN_REPOSITORY_URL: https://test.pypi.org/legacy/ |