Skip to content

release-main

release-main #28

Workflow file for this run

name: release-main
on:
workflow_dispatch:
release:
types: [published]
branches: [main]
jobs:
build:
strategy:
matrix:
os: [macos-13, windows-latest, ubuntu-latest, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
steps:
- name: Check out
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: abatilo/actions-poetry@v3
- name: setup graalvm for static native build
uses: graalvm/setup-graalvm@v1
with:
java-version: "23"
distribution: "graalvm-community"
github-token: ${{ secrets.GITHUB_TOKEN }}
components: "native-image"
native-image-job-reports: "true"
cache: "maven"
- name: Install python dependencies
run: poetry install --no-interaction
- name: Set MACOSX_DEPLOYMENT_TARGET used by cibuildwheel
if: ${{ startsWith(matrix.os, 'macos') }}
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.os == 'macos-14' && '14.0' || '13.0' }}" >> $GITHUB_ENV
- name: Run cibuildwheel
run: |
pip install cibuildwheel
cibuildwheel --debug-traceback --print-build-identifiers --output-dir wheelhouse
env:
CIBW_BEFORE_BUILD_LINUX: |
curl -L -o graalvm.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-23.0.2/graalvm-community-jdk-23.0.2_linux-x64_bin.tar.gz
tar -xzf graalvm.tar.gz -C /opt
export JAVA_HOME=/opt/graalvm-ce-23.0.2
export GRAALVM_HOME=/opt/graalvm-ce-23.0.2
export PATH=$GRAALVM_HOME/bin:$PATH
gu install native-image
curl -sSL https://install.python-poetry.org | python3 -
export PATH=$HOME/.local/bin:$PATH
poetry install --no-interaction
- name: Copy wheels to dist directory
run: |
mkdir -p dist
cp wheelhouse/*.whl dist/
- name: Publish to PyPI
run: |
poetry config pypi-token.pypi "${{ secrets.PYPI_TOKEN }}"
poetry publish --dry-run
# poetry publish --skip-existing
- name: Setup tmate
if: failure()
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
deploy-docs:
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: abatilo/actions-poetry@v3
- name: setup graalvm for static native build
uses: graalvm/setup-graalvm@v1
with:
java-version: "23"
distribution: "graalvm-community"
github-token: ${{ secrets.GITHUB_TOKEN }}
components: "native-image"
native-image-job-reports: "true"
cache: "maven"
- name: Install python dependencies
run: poetry install --no-interaction
- name: Deploy documentation
run: poetry run mkdocs gh-deploy --force