Repository navigation
fast-query-parsers: Add version 1.0.3 #1
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 the `linux`/`musllinux` jobs of | |
| # https://github.com/starlite-api/fast-query-parsers/blob/v1.0.3/.github/workflows/publish.yaml | |
| name: Build fast-query-parsers wheels (riscv64) | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version glob to (re)build; empty builds every version of docs/packages/fast-query-parsers.yaml not released yet' | |
| required: false | |
| default: '' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-fast-query-parsers.yml' | |
| - 'docs/packages/fast-query-parsers.yaml' | |
| push: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-fast-query-parsers.yml' | |
| - 'docs/packages/fast-query-parsers.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 | |
| MUSLLINUX_RISCV64_IMAGE: quay.io/pypa/musllinux_1_2_riscv64 | |
| jobs: | |
| setup: | |
| uses: $/.github/workflows/_setup.yml | |
| with: | |
| package: fast-query-parsers | |
| version: ${{ inputs.version }} | |
| build_wheels: | |
| needs: [setup] | |
| if: needs.setup.outputs.versions != '[]' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ${{ fromJSON(needs.setup.outputs.versions) }} | |
| platform: [manylinux, musllinux] | |
| name: Build fast-query-parsers ${{ matrix.version }} cp38-abi3-${{ matrix.platform }}_riscv64 | |
| runs-on: ubuntu-24.04-riscv | |
| timeout-minutes: 120 | |
| env: | |
| FAST_QUERY_PARSERS_VERSION: ${{ matrix.version }} | |
| steps: | |
| - name: Checkout fast-query-parsers v${{ env.FAST_QUERY_PARSERS_VERSION }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: starlite-api/fast-query-parsers | |
| ref: v${{ env.FAST_QUERY_PARSERS_VERSION }} | |
| persist-credentials: false | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0 | |
| with: | |
| output-dir: wheelhouse/ | |
| env: | |
| # pyo3's abi3-py38 feature is on unconditionally; the image has no | |
| # cp38, so the wheel is built on cp39 and re-tested on the rest. | |
| CIBW_BUILD: >- | |
| cp39-${{ matrix.platform }}_riscv64 cp310-${{ matrix.platform }}_riscv64 | |
| cp311-${{ matrix.platform }}_riscv64 cp312-${{ matrix.platform }}_riscv64 | |
| cp313-${{ matrix.platform }}_riscv64 cp314-${{ matrix.platform }}_riscv64 | |
| CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }} | |
| CIBW_MUSLLINUX_RISCV64_IMAGE: ${{ env.MUSLLINUX_RISCV64_IMAGE }} | |
| CIBW_BEFORE_ALL_LINUX: >- | |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
| CIBW_ENVIRONMENT_LINUX: PATH="$PATH:$HOME/.cargo/bin" | |
| # pyproject.toml pins maturin<0.15 (2023), which has no riscv64 wheel | |
| # and no riscv64 auditwheel policy; a current maturin builds this tree | |
| # unmodified, so install one and skip isolation to bypass the pin. | |
| CIBW_BEFORE_BUILD: pip install maturin | |
| CIBW_BUILD_FRONTEND: "pip; args: --no-build-isolation" | |
| CIBW_TEST_REQUIRES: pytest | |
| CIBW_TEST_SOURCES: tests | |
| CIBW_TEST_COMMAND: python -m pytest -v tests | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: fast-query-parsers-${{ env.FAST_QUERY_PARSERS_VERSION }}-cp38-abi3-${{ matrix.platform }}_riscv64 | |
| path: wheelhouse/*.whl | |
| if-no-files-found: error | |
| publish: | |
| name: Publish fast-query-parsers ${{ 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 | |
| secrets: | |
| app-private-key: ${{ secrets.RISEPROJECT_APP_PRIVATE_KEY }} | |
| with: | |
| artifact-pattern: fast-query-parsers-${{ matrix.version }}-*_riscv64 |