Skip to content

Commit da6ad57

Browse files
committed
whenever: Add version 0.11.0
1 parent 6bd20b0 commit da6ad57

2 files changed

Lines changed: 114 additions & 0 deletions

File tree

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# SPDX-FileCopyrightText: 2026 The RISE Project
2+
# SPDX-License-Identifier: MIT
3+
---
4+
# Based on upstream's own wheels.yml binary job (maturin-built pyo3-ffi extension),
5+
# narrowed to riscv64 and driven through cibuildwheel's default setuptools_rust build
6+
# (upstream's own sdist/editable path, declared via pyproject.toml's dynamic build
7+
# dependency) since maturin-action ships no riscv64 manylinux image.
8+
name: Build whenever wheels (riscv64)
9+
10+
on:
11+
workflow_dispatch:
12+
inputs:
13+
version:
14+
description: 'Version glob to (re)build; empty builds every version of docs/packages/whenever.yaml not released yet'
15+
required: false
16+
default: ''
17+
pull_request:
18+
branches: [main]
19+
paths:
20+
- '.github/workflows/build-whenever.yml'
21+
- 'docs/packages/whenever.yaml'
22+
push:
23+
branches: [main]
24+
paths:
25+
- '.github/workflows/build-whenever.yml'
26+
- 'docs/packages/whenever.yaml'
27+
28+
concurrency:
29+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
30+
cancel-in-progress: true
31+
32+
permissions:
33+
contents: read # to fetch code (actions/checkout)
34+
35+
env:
36+
MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64
37+
38+
jobs:
39+
setup:
40+
uses: $/.github/workflows/_setup.yml
41+
with:
42+
package: whenever
43+
version: ${{ inputs.version }}
44+
45+
build_wheels:
46+
needs: [setup]
47+
if: needs.setup.outputs.versions != '[]'
48+
name: Build whenever ${{ matrix.version }} ${{ matrix.python }}-manylinux_riscv64
49+
runs-on: ubuntu-24.04-riscv
50+
timeout-minutes: 60
51+
strategy:
52+
fail-fast: false
53+
matrix:
54+
version: ${{ fromJSON(needs.setup.outputs.versions) }}
55+
# No abi3 feature in Cargo.toml, so upstream ships one wheel per
56+
# interpreter (matches PyPI's cp3xx-cp3xx tags).
57+
python: ["cp312", "cp313", "cp314", "cp314t"]
58+
59+
env:
60+
WHENEVER_VERSION: ${{ matrix.version }}
61+
62+
steps:
63+
- name: Checkout whenever ${{ env.WHENEVER_VERSION }}
64+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
65+
with:
66+
repository: ariebovenberg/whenever
67+
ref: ${{ env.WHENEVER_VERSION }}
68+
persist-credentials: false
69+
70+
- name: Build wheels
71+
uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0
72+
with:
73+
output-dir: wheelhouse/
74+
only: ${{ matrix.python }}-manylinux_riscv64
75+
env:
76+
CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }}
77+
# pyproject.toml declares no [build-system] rust toolchain; the Rust
78+
# toolchain setuptools_rust needs is installed in-container.
79+
CIBW_BEFORE_ALL_LINUX: >-
80+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
81+
CIBW_ENVIRONMENT_LINUX: PATH="$PATH:$HOME/.cargo/bin"
82+
CIBW_TEST_REQUIRES: pytest hypothesis typing-extensions time_machine tzdata pydantic pytest-order
83+
CIBW_TEST_SOURCES: tests
84+
CIBW_TEST_COMMAND: >-
85+
python -c "import whenever; assert whenever._EXTENSION_LOADED, whenever._EXTENSION_LOADED" &&
86+
python -m pytest -q tests
87+
88+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
89+
with:
90+
name: whenever-${{ env.WHENEVER_VERSION }}-${{ matrix.python }}-manylinux_riscv64
91+
path: wheelhouse/*.whl
92+
if-no-files-found: error
93+
94+
publish:
95+
name: Publish whenever ${{ matrix.version }}
96+
needs: [setup, build_wheels]
97+
if: needs.setup.outputs.versions != '[]'
98+
strategy:
99+
fail-fast: false
100+
matrix:
101+
version: ${{ fromJSON(needs.setup.outputs.versions) }}
102+
permissions:
103+
contents: write
104+
pull-requests: write
105+
uses: $/.github/workflows/_publish-wheel.yml
106+
secrets:
107+
app-private-key: ${{ secrets.RISEPROJECT_APP_PRIVATE_KEY }}
108+
with:
109+
artifact-pattern: whenever-${{ matrix.version }}-*-manylinux_riscv64

‎docs/packages/whenever.yaml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package-name: whenever
2+
source-code: https://github.com/ariebovenberg/whenever
3+
license: MIT
4+
versions:
5+
- version: 0.11.0

0 commit comments

Comments
 (0)