Skip to content

Trying to fix cibw-wheels job for Linux/ARM64. #12

Trying to fix cibw-wheels job for Linux/ARM64.

Trying to fix cibw-wheels job for Linux/ARM64. #12

Workflow file for this run

name: Assets
on:
release:
types:
- created
push:
branches:
- "release**"
jobs:
cibw-wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [
ubuntu-latest, # Linux/x64
macos-13, # MacOS/x64
windows-latest, # Windows/x64
ubuntu-24.04-arm, # Linux/ARM64
macos-14 # MacOS/ARM64
]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==2.18.1
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
if: ${{ matrix.os == 'ubuntu-24.04-arm' }}
env:
CIBW_BEFORE_ALL_LINUX: yum install -y java-11-openjdk
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl
emscripten-wasm:
name: WASM binaries for emscripten
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type:
- Release
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 16.20.2
- name: Install conan
run: |
pipx install conan
shell: bash
- name: Get latest CMake
uses: lukka/get-cmake@latest
# We clean the Conan cache as a preventive measure for our runs in self-hosted runners
# Self-hosted runners use containers that cache Conan packages from previous runs,
# and that can cause different type of problems
- name: Configure and build
run: |
conan profile detect --force
conan remove -c "*/*"
conan build . -pr=conan/profiles/release-clang-emscripten-wasm -pr:b=conan/profiles/release -b missing
shell: bash
- name: Upload release asset
uses: softprops/action-gh-release@v2
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
files: |
build/Release/emscripten/cqasm_emscripten.js
build/Release/emscripten/cqasm_emscripten.wasm
token: ${{ secrets.GITHUB_TOKEN }}
publish-python-packages:
name: Publish Python packages
needs:
- cibw-wheels
- emscripten-wasm
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
id: download
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.8.14
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: ${{ steps.download.outputs.download-path }}/cibw-*