ALE v0.10 #4
Workflow file for this run
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
# workflow on publish | |
# 1. build the wheels for relevant systems | |
# 2. download artifacts and upload to PyPI | |
name: Push wheels to pypi | |
on: | |
release: | |
types: [ published ] | |
jobs: | |
build-wheels: | |
name: ${{ matrix.runs-on }} • ${{ matrix.arch }} | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
include: | |
- runs-on: ubuntu-latest | |
arch: x86_64 | |
- runs-on: windows-latest | |
arch: AMD64 | |
- runs-on: macos-12 | |
arch: x86_64 | |
- runs-on: macos-12 | |
arch: arm64 | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
if: runner.os == 'linux' | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
install: true | |
- name: Build Docker image with vcpkg | |
if: runner.os == 'linux' | |
# using build-push-action (without push) to make use of cache arguments | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
file: .github/docker/manylinux-vcpkg.Dockerfile | |
tags: manylinux-vcpkg:latest | |
push: false | |
load: true | |
- uses: microsoft/setup-msbuild@v2 | |
if: runner.os == 'Windows' | |
# TODO(jfarebro): 02/16/2023 - There's a bug where pkg-config isn't installed on the macOS | |
# runner. See: https://github.com/actions/runner-images/pull/7125 | |
- name: Install pkg-config on macOS | |
if: runner.os == 'macOS' | |
run: brew install pkg-config | |
- uses: lukka/run-vcpkg@v11 | |
if: runner.os != 'linux' | |
with: | |
vcpkgGitCommitId: "8150939b69720adc475461978e07c2d2bf5fb76e" | |
# There's a permissions issue with the cache | |
# https://github.com/microsoft/vcpkg/issues/20121 | |
doNotCache: true | |
- name: Download and unpack ROMs | |
run: ./scripts/download_unpack_roms.sh | |
- name: Build wheels | |
uses: pypa/cibuildwheel@v2.21.0 | |
env: | |
CIBW_ARCHS: "${{ matrix.arch }}" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-${{ matrix.runs-on }}-${{ matrix.arch }} | |
path: ./wheelhouse/*.whl | |
push-pypi: | |
name: Deploy wheels to PyPi | |
runs-on: ubuntu-latest | |
needs: build-wheels | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: | | |
wheels-windows-latest-ARM64/ | |
wheels-ubuntu-latest-x86_64/ | |
wheels-macos-12-x86_64/ | |
wheels-macos-12-arm64/ | |
path: wheels | |
- name: Publish to PyPi test | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} | |
packages-dir: wheels/ | |
print-hash: true |