feat: automatic dependency download/install (#8) #25
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
name: Release | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
release-addon: | |
needs: [bindings-linux, bindings-windows, bindings-macos] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: pip install -r requirements.txt | |
- name: Bundle Add-on | |
run: python release.py --no-zip | |
- id: release | |
uses: dctrotz/release-on-push-action@fixupload_url | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
bump_version_scheme: minor | |
- name: Patch Add-on Version | |
run: python release.py --tag ${{steps.release.outputs.version}} | |
- name: Zip Add-on | |
run: python release.py --zip-only lol-blender-${{steps.release.outputs.tag_name}} | |
- name: Upload Release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release.outputs.upload_url }} | |
asset_path: dist/lol-blender-${{steps.release.outputs.tag_name}}.zip | |
asset_name: addon-lol-blender-${{steps.release.outputs.tag_name}}.zip | |
asset_content_type: application/zip | |
- uses: actions/download-artifact@v4 | |
- name: Upload Release Wheels | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
run: | | |
gh release upload ${{steps.release.outputs.tag_name}} ./wheels*/*.whl | |
bindings-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [x86_64, i686] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
manylinux: auto # manylinux is containerised, so no need for setup-python action | |
args: --release --out dist/ -m bindings/Cargo.toml -i python3.11 | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-${{matrix.target}} | |
path: dist/*.whl | |
bindings-windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
architecture: ${{ matrix.target }} | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist/ -m bindings/Cargo.toml | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-windows-${{ matrix.target }} | |
path: dist/*.whl | |
bindings-macos: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
target: [x86_64, universal2-apple-darwin] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
architecture: x64 | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist/ -m bindings/Cargo.toml | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-macos-${{ matrix.target }} | |
path: dist/*.whl | |
permissions: | |
contents: write | |
pull-requests: read |