Skip to content

chore: Sync 'master' into 'devel' #9

chore: Sync 'master' into 'devel'

chore: Sync 'master' into 'devel' #9

Workflow file for this run

name: Development release (devel)
permissions: write-all
on:
pull_request:
types:
- closed
branches:
- devel
jobs:
build-docs:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.merge_commit_sha }}
- uses: ./.github/workflows/actions/docs
with:
os: ${{ matrix.os }}
run-tests:
if: github.event.pull_request.merged == true
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.merge_commit_sha }}
- uses: ./.github/workflows/actions/setup
with:
os: ${{ matrix.os }}
- uses: ./.github/workflows/actions/compile
with:
build-log-output-file: "warnings-new"
- name: Test the library
run: make test
run-tests-python:
if: github.event.pull_request.merged == true
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.13"]
install-type: ["src", "tarball"]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.merge_commit_sha }}
- uses: ./.github/workflows/actions/setup
with:
os: ${{ matrix.os }}
- name: Set up Python and its dependencies ${{ inputs.python-version }}
uses: ./.github/workflows/actions/setup-python
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
- name: Write the released version to VERSION file
shell: bash
run: |
echo "v0.0.0-dev.1" > VERSION
echo "v0.0.0-dev.1" > bindings/python/VERSION
- name: Compile the Python bindings from the source
uses: ./.github/workflows/actions/compile-python-src
- name: Compile the Python bindings from the tarball
if: matrix.install-type == 'tarball'
uses: ./.github/workflows/actions/compile-python-tarball
- name: Test the Python bindings
uses: ./.github/workflows/actions/test-python
release-dev:
needs: [build-docs, run-tests, run-tests-python]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.merge_commit_sha }}
- uses: ./.github/workflows/actions/github-actions-git-config
- uses: ./.github/workflows/actions/bump-version
with:
prerelease: true
# FIXME: Support in the docs template docs deployment for development releases as well (currently only supported for
# master releases).
# deploy-docs:
# needs: development-release
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v6
# - uses: ./.github/workflows/actions/docs
# - name: Deploy to GitHub Pages
# uses: JamesIves/github-pages-deploy-action@v4
# with:
# folder: docs/_build/html
# FIXME: Support in the python binding template for development releases as well (currently only supported for master
# releases).
# build-and-deploy-to-pypi:
# needs: release-dev
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.13"]
# steps:
# - uses: actions/checkout@v6
# - name: Infer the bumped version (without tagging)
# uses: ./.github/workflows/actions/bump-version
# id: bump
# with:
# dry-run: true
# prerelease: true
# - name: Set the new version to file without committing (since the GA is done wrt old version)
# run: |
# echo "${{ steps.bump.outputs.new-tag }}" > VERSION
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v6
# with:
# python-version: ${{ matrix.python-version }}
# cache: "pip"
# - name: Install Python Dependencies
# run: |
# python3 -m pip install --upgrade pip
# python3 -m pip install setuptools wheel twine
# - name: Install Python Dependencies
# run: |
# make -C bindings/python init
# - name: Install Unix dependencies
# run: |
# sudo apt -qq update
# sudo apt -qq install -y graphviz graphviz-dev
# - name: Verify that the Binding can be installed
# run: |
# make -C bindings/python install
# - name: Verify tests tests
# run: |
# make -C bindings/python test
# - name: Build python release distribution package
# run: |
# make -C bindings/python pypi-release
# - name: Upload to Pypi
# run: |
# python3 -m twine upload bindings/python/dist/*.tar.gz
# env:
# TWINE_USERNAME: __token__
# TWINE_PASSWORD: ${{ secrets.PYPI_SECRET_TOKEN }}
# # TWINE_REPOSITORY: testpypi