Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
hardware_tag:
description: Hardware version to pair with this CLI
required: true
default: v0.1.10
default: v0.1.11
hardware_run_id:
description: Optional hardware workflow run providing the tested wheel before its first release
required: false
Expand All @@ -24,16 +24,31 @@ jobs:
package:
runs-on: ubuntu-24.04
env:
HARDWARE_TAG: ${{ inputs.hardware_tag || 'v0.1.10' }}
HARDWARE_TAG: ${{ inputs.hardware_tag || 'v0.1.11' }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.12'
# Hardware 0.1.11 is required by the CLI but has not been released yet.
# Development checks use a fixed upstream revision until it is published.
- name: Check out pinned hardware source for development checks
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref_type == 'branch')
uses: actions/checkout@v4
with:
repository: OrchardLinux/hardware
ref: ae1457edee7d2e52213e4d979aee02dbbeb90ce0
path: out/hardware-source
persist-credentials: false
- name: Build the pinned hardware wheel for development checks
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref_type == 'branch')
run: |
python -m pip install build
python -m build --wheel --outdir "$PWD/out/hardware" out/hardware-source
- name: Download pinned released hardware dependency
if: inputs.hardware_run_id == ''
if: github.event_name != 'pull_request' && (github.event_name != 'push' || github.ref_type != 'branch') && inputs.hardware_run_id == ''
env:
GH_TOKEN: ${{ github.token }}
run: |
Expand Down
2 changes: 1 addition & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The bootstrap installs `releases/latest/download/requirements.txt`. This file se

## GitHub Actions

`.github/workflows/build.yml` tests on Python 3.9 and 3.12 for pull requests and `main`. It downloads a published hardware wheel and verifies its release checksums; no sibling source checkout is used. The default hardware tag is explicit in the workflow and must be updated with the package dependency when selecting a new pair. Manual dispatch also lets you choose a hardware tag.
`.github/workflows/build.yml` tests on Python 3.9 and 3.12 for pull requests and `main`. Until hardware 0.1.11 is published, those development checks build its wheel from a pinned hardware source revision. That source wheel does not include the prebuilt loaders in a published hardware wheel. Tag and manual builds use a published hardware wheel with verified release checksums, or an explicitly selected hardware workflow artifact. They default to hardware v0.1.11, which must be published before a release build can use it. Manual dispatch also lets you choose a hardware tag.

A version tag matching `pyproject.toml` creates a **draft** release containing the wheel, sdist, hashed `requirements.txt` and `SHA256SUMS`. Manual builds only retain workflow artifacts for seven days. The hardware release must be published first; cross-repository drafts are not public dependency URLs. Nothing publishes automatically or operates a device.

Expand Down
Loading