mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
ci: drop self-hosted hardware runner requirements
This commit is contained in:
131
.github/workflows/ci.yml
vendored
131
.github/workflows/ci.yml
vendored
@@ -143,27 +143,6 @@ jobs:
|
||||
name: ci-linux-aarch64-package
|
||||
path: sdk/dist/openbitdo-v0.0.0-ci-linux-aarch64*
|
||||
|
||||
hardware-paths:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
hardware: ${{ steps.filter.outputs.hardware }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
hardware:
|
||||
- 'sdk/crates/bitdo_proto/**'
|
||||
- 'sdk/crates/bitdo_app_core/**'
|
||||
- 'sdk/crates/bitdo_tui/**'
|
||||
- 'sdk/crates/openbitdo/**'
|
||||
- 'sdk/tests/**'
|
||||
- 'sdk/scripts/run_hardware_smoke.sh'
|
||||
- 'spec/**'
|
||||
- 'harness/lab/device_lab.yaml'
|
||||
- '.github/workflows/ci.yml'
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
@@ -188,113 +167,3 @@ jobs:
|
||||
run: cargo clippy --workspace --all-targets -- -D warnings
|
||||
- name: Run tests
|
||||
run: cargo test --workspace --all-targets
|
||||
|
||||
hardware-dinput:
|
||||
if: vars.BITDO_ENABLE_EXTRA_HARDWARE == '1'
|
||||
runs-on: [self-hosted, linux, hid-lab]
|
||||
needs: test
|
||||
env:
|
||||
BITDO_REQUIRED_FAMILIES: DInput
|
||||
defaults:
|
||||
run:
|
||||
working-directory: sdk
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
- name: Hardware smoke tests
|
||||
run: ./scripts/run_hardware_smoke.sh
|
||||
- name: Upload hardware smoke report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: hardware-smoke-dinput
|
||||
path: harness/reports/*.json
|
||||
|
||||
hardware-standard64:
|
||||
if: vars.BITDO_ENABLE_EXTRA_HARDWARE == '1'
|
||||
runs-on: [self-hosted, linux, hid-lab]
|
||||
needs: test
|
||||
env:
|
||||
BITDO_REQUIRED_FAMILIES: Standard64
|
||||
defaults:
|
||||
run:
|
||||
working-directory: sdk
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
- name: Hardware smoke tests
|
||||
run: ./scripts/run_hardware_smoke.sh
|
||||
- name: Upload hardware smoke report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: hardware-smoke-standard64
|
||||
path: harness/reports/*.json
|
||||
|
||||
hardware-ultimate2:
|
||||
if: github.event_name == 'schedule' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || needs.hardware-paths.outputs.hardware == 'true'
|
||||
runs-on: [self-hosted, linux, hid-lab]
|
||||
needs: [test, hardware-paths]
|
||||
env:
|
||||
BITDO_REQUIRED_SUITE: ultimate2
|
||||
defaults:
|
||||
run:
|
||||
working-directory: sdk
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
- name: Hardware smoke tests (Ultimate2)
|
||||
run: ./scripts/run_hardware_smoke.sh
|
||||
- name: Upload hardware smoke report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: hardware-smoke-ultimate2
|
||||
path: harness/reports/*.json
|
||||
|
||||
hardware-108jp:
|
||||
if: github.event_name == 'schedule' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || needs.hardware-paths.outputs.hardware == 'true'
|
||||
runs-on: [self-hosted, linux, hid-lab]
|
||||
needs: [test, hardware-paths]
|
||||
env:
|
||||
BITDO_REQUIRED_SUITE: 108jp
|
||||
defaults:
|
||||
run:
|
||||
working-directory: sdk
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
- name: Hardware smoke tests (JP108)
|
||||
run: ./scripts/run_hardware_smoke.sh
|
||||
- name: Upload hardware smoke report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: hardware-smoke-108jp
|
||||
path: harness/reports/*.json
|
||||
|
||||
hardware-jphandshake:
|
||||
if: vars.BITDO_ENABLE_JP_HARDWARE == '1'
|
||||
runs-on: [self-hosted, linux, hid-lab]
|
||||
needs: test
|
||||
env:
|
||||
BITDO_REQUIRED_FAMILIES: JpHandshake
|
||||
defaults:
|
||||
run:
|
||||
working-directory: sdk
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
- name: Hardware smoke tests
|
||||
run: ./scripts/run_hardware_smoke.sh
|
||||
- name: Upload hardware smoke report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: hardware-smoke-jphandshake
|
||||
path: harness/reports/*.json
|
||||
|
||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -67,7 +67,7 @@ jobs:
|
||||
[[ -n "${HOMEBREW_TAP_REPO:-}" ]] || { echo "missing required variable: HOMEBREW_TAP_REPO" >&2; exit 1; }
|
||||
gh repo view "${HOMEBREW_TAP_REPO}" >/dev/null
|
||||
|
||||
- name: Require successful CI and hardware checks on tagged commit
|
||||
- name: Require successful CI checks on tagged commit
|
||||
working-directory: ${{ github.workspace }}
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -79,8 +79,6 @@ jobs:
|
||||
tui-smoke-test
|
||||
build-macos-arm64
|
||||
test
|
||||
hardware-ultimate2
|
||||
hardware-108jp
|
||||
)
|
||||
check_runs_json="$(gh api "repos/${GITHUB_REPOSITORY}/commits/${GITHUB_SHA}/check-runs")"
|
||||
failed=0
|
||||
|
||||
@@ -62,16 +62,6 @@ Expected:
|
||||
- `tui-smoke-test`
|
||||
- `build-macos-arm64`
|
||||
- `test`
|
||||
- `hardware-ultimate2`
|
||||
- `hardware-108jp`
|
||||
|
||||
Gated/non-required:
|
||||
- `hardware-jphandshake` (enabled only when `BITDO_ENABLE_JP_HARDWARE=1`)
|
||||
|
||||
Hardware execution policy:
|
||||
- Pull requests run required hardware jobs when surgical runtime/spec paths are touched.
|
||||
- `main`, nightly, and tag workflows run full required hardware coverage.
|
||||
- Nightly full hardware run is scheduled for `02:30 America/New_York` policy time (implemented as GitHub cron UTC).
|
||||
|
||||
## Release Secret Preflight (Tag Workflow)
|
||||
Tag preflight must fail early if any required secret is missing:
|
||||
@@ -128,16 +118,15 @@ shasum -a 256 -c openbitdo-v0.0.1-rc.1-macos-arm64.pkg.sha256
|
||||
| --- | --- | --- |
|
||||
| Clean tree | Pass | Verified empty on `c3115da` before final checklist update (`git status --porcelain`). |
|
||||
| Secrets present | Pass | `AUR_USERNAME`, `AUR_SSH_PRIVATE_KEY`, `HOMEBREW_TAP_TOKEN` exist in repo secrets. |
|
||||
| Required checks configured | Pass | `guard`, `test`, `tui-smoke-test`, `aur-validate`, `build-macos-arm64`, `hardware-108jp`, `hardware-ultimate2`. |
|
||||
| Required checks configured | Pass | `guard`, `test`, `tui-smoke-test`, `aur-validate`, `build-macos-arm64`. |
|
||||
| Open release-blocker issues | Pass | `0` open (`gh issue list --label release-blocker --state open`). |
|
||||
| RC release allowed | Fail | `No` yet: required hardware checks are still queued on the RC commit and AUR SSH auth still returns `Permission denied (publickey)`. |
|
||||
| RC release allowed | Fail | `No` yet: AUR SSH auth still returns `Permission denied (publickey)`. |
|
||||
|
||||
## RC Execution Log
|
||||
- 2026-03-02T20:54:31Z: governance preflight complete; release blocker remains open by policy.
|
||||
- 2026-03-02T21:38:17Z: set `HOMEBREW_TAP_REPO=bybrooklyn/homebrew-openbitdo`; repository and tap visibility switched to public.
|
||||
- 2026-03-02T21:40:00Z: bootstrapped tap repo `bybrooklyn/homebrew-openbitdo` with initial `Formula/openbitdo.rb`.
|
||||
- 2026-03-02T21:45:27Z to 2026-03-02T21:48:55Z: CI run `22597105846` on commit `c3115da` passed `guard`, `test`, `tui-smoke-test`, `aur-validate`, `build-macos-arm64`, `build-linux-x86_64`, and `build-linux-aarch64`.
|
||||
- 2026-03-02T21:48:55Z: required hardware jobs `hardware-108jp` and `hardware-ultimate2` entered queued state on the same commit and are still pending runner pickup.
|
||||
- 2026-03-02T21:49:00Z to 2026-03-02T21:55:00Z: downloaded CI artifacts and manually verified each artifact hash against `.sha256` content (all matched) for:
|
||||
- `openbitdo-v0.0.0-ci-linux-x86_64.tar.gz`
|
||||
- `openbitdo-v0.0.0-ci-linux-x86_64`
|
||||
@@ -154,3 +143,4 @@ shasum -a 256 -c openbitdo-v0.0.1-rc.1-macos-arm64.pkg.sha256
|
||||
- 2026-03-02T22:02:00Z: Wave 2 issues `#2` through `#13` closed with per-issue evidence comments.
|
||||
- 2026-03-02T22:03:00Z: epic issue `#1` closed and `release-blocker` label removed after child closure summary.
|
||||
- 2026-03-02T22:04:00Z: clean-tree gate confirmed on baseline commit `c3115da` (`git status --porcelain` empty).
|
||||
- 2026-03-02T22:10:00Z: removed hardware self-hosted checks from branch protection and CI/release gate policy.
|
||||
|
||||
@@ -124,9 +124,10 @@ Packaging outputs use:
|
||||
- unsigned/ad-hoc is accepted for RC
|
||||
- notarization required for `v0.1.0`
|
||||
|
||||
## Hardware CI gates
|
||||
## CI Gates
|
||||
- required:
|
||||
- `hardware-ultimate2`
|
||||
- `hardware-108jp`
|
||||
- gated:
|
||||
- `hardware-jphandshake` (enabled only when `BITDO_ENABLE_JP_HARDWARE=1`)
|
||||
- `guard`
|
||||
- `test`
|
||||
- `tui-smoke-test`
|
||||
- `aur-validate`
|
||||
- `build-macos-arm64`
|
||||
|
||||
Reference in New Issue
Block a user