Skip to content

Release 0.6.8

Release 0.6.8 #3

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:
# macos-13 is an x64 runner, macos-14 is an arm64 runner
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
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
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl
cibw-wheels-linux-arm64:
name: Build wheels on linux-arm64
runs-on: [self-hosted, ARM64, Linux]
container:
image: python:3.12-slim
volumes:
- /var/run/docker.sock:/var/run/docker.sock
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install docker
run: |
apt-get update
apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce-cli
- name: Install cibuildwheel and build wheels
run: |
pip install cibuildwheel==2.18.1
cibuildwheel --output-dir wheelhouse
env:
CIBW_BEFORE_ALL_LINUX: yum install -y java-11-openjdk
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-linux-arm64
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
- cibw-wheels-linux-arm64
- emscripten-wasm
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
id: download
- name: Publish to PyPI
uses: pypa/[email protected]
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: ${{ steps.download.outputs.download-path }}/cibw-*