Skip to content

Update Core / InitializeWorkflow (#683) #216

Update Core / InitializeWorkflow (#683)

Update Core / InitializeWorkflow (#683) #216

name: Build Binaries
on:
push:
branches:
- main
- "releases/*"
jobs:
# Compile the binaries and upload artifacts
compile-binaries:
strategy:
fail-fast: true
matrix:
include:
- os: ubuntu-latest
package-suffix: linux-amd64
- os: ubuntu-arm
package-suffix: linux-aarch64
runsOn: ubuntu-24.04-arm64-2-core
- os: macos-intel
package-suffix: macos-amd64
runsOn: macos-12
- os: macos-arm
package-suffix: macos-aarch64
runsOn: macos-14
- os: windows-latest
package-suffix: windows-amd64
runs-on: ${{ matrix.runsOn || matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: "3.12"
# Install Rust locally for non-Linux (Linux uses an internal docker
# command to build with cibuildwheel which uses rustup install defined
# in pyproject.toml)
- if: ${{ runner.os != 'Linux' }}
uses: dtolnay/rust-toolchain@stable
- if: ${{ runner.os != 'Linux' }}
uses: Swatinem/rust-cache@v2
with:
workspaces: temporalio/bridge -> target
# Prepare
# Using fixed Poetry version until
# https://github.com/python-poetry/poetry/issues/7611 and
# https://github.com/python-poetry/poetry/pull/7694 are fixed
- run: python -m pip install --upgrade wheel "poetry==1.3.2" poethepoet
- run: poetry install --no-root --all-extras
# Add the source dist only for Linux x64 for now
- if: ${{ matrix.package-suffix == 'linux-amd64' }}
run: poetry build --format sdist
# Build and fix the wheel
- run: poetry run cibuildwheel --output-dir dist
- run: poe fix-wheel
# Simple test
- run: poe test-dist-single
# Upload dist
- uses: actions/upload-artifact@v4
with:
name: packages-${{ matrix.package-suffix }}
path: dist