Repository navigation
docs: Update projects #18
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2026 The RISE Project | |
| # SPDX-License-Identifier: MIT | |
| --- | |
| # This workflow is based on: https://github.com/danielhrisca/asammdf/blob/8.8.25/.github/workflows/wheels.yml | |
| name: Build asammdf wheels (riscv64) | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version glob to (re)build; empty builds every version of docs/packages/asammdf.yaml not released yet' | |
| required: false | |
| default: '' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-asammdf.yml' | |
| - 'docs/packages/asammdf.yaml' | |
| push: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-asammdf.yml' | |
| - 'docs/packages/asammdf.yaml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| env: | |
| MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 | |
| jobs: | |
| setup: | |
| uses: $/.github/workflows/_setup.yml | |
| with: | |
| package: asammdf | |
| version: ${{ inputs.version }} | |
| build_wheels: | |
| needs: [setup] | |
| if: needs.setup.outputs.versions != '[]' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ${{ fromJSON(needs.setup.outputs.versions) }} | |
| name: Build asammdf ${{ matrix.version }} cp310-abi3-manylinux_riscv64 | |
| runs-on: ubuntu-24.04-riscv | |
| timeout-minutes: 60 | |
| env: | |
| ASAMMDF_VERSION: ${{ matrix.version }} | |
| steps: | |
| - name: Checkout asammdf ${{ env.ASAMMDF_VERSION }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: danielhrisca/asammdf | |
| ref: ${{ env.ASAMMDF_VERSION }} | |
| # libdeflate/lz4/zstd are vendored as git submodules and compiled in statically. | |
| submodules: recursive | |
| persist-credentials: false | |
| - name: Build and test wheel | |
| uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0 | |
| env: | |
| CIBW_ARCHS: riscv64 | |
| CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }} | |
| # pyproject sets wheel.py-api = "cp310": one build is loadable on every | |
| # 3.10+ interpreter. Building at our floor cp312 and listing cp313/cp314 | |
| # lets cibuildwheel compile once and reuse+test that wheel on each | |
| # (find_compatible_wheel); cp314t/cp315 are skipped upstream too. | |
| CIBW_BUILD: "cp312-* cp313-* cp314-*" | |
| CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ | |
| CIBW_TEST_ENVIRONMENT: "PIP_ONLY_BINARY=:all:" | |
| # Mirrors upstream's own wheels.yml, which excludes the Qt-based GUI | |
| # suite (PySide6 has no riscv64 wheel anywhere). | |
| CIBW_TEST_COMMAND: pytest {project}/test --ignore={project}/test/asammdf/gui | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: asammdf-${{ env.ASAMMDF_VERSION }}-cp310-abi3-manylinux_riscv64 | |
| path: ./wheelhouse/*.whl | |
| if-no-files-found: error | |
| publish: | |
| name: Publish asammdf ${{ matrix.version }} | |
| needs: [setup, build_wheels] | |
| if: needs.setup.outputs.versions != '[]' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ${{ fromJSON(needs.setup.outputs.versions) }} | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| uses: $/.github/workflows/_publish-wheel.yml | |
| with: | |
| artifact-pattern: asammdf-${{ matrix.version }}-*-manylinux_riscv64 |