Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
81f2674
build(deps): bump toml from 1.0.7+spec-1.1.0 to 1.1.0+spec-1.1.0
dependabot[bot] Mar 23, 2026
94d35d8
Merge pull request #895 from dalance/dependabot/cargo/toml-1.1.0spec-…
github-actions[bot] Mar 23, 2026
eafdabf
build(deps): bump clap_mangen from 0.2.33 to 0.3.0
dependabot[bot] Mar 27, 2026
b799f5b
Merge pull request #896 from dalance/dependabot/cargo/clap_mangen-0.3.0
dalance Mar 30, 2026
ec203e0
ci: add riscv64 to release build matrix
gounthar Mar 23, 2026
f4c29fa
ci: add riscv64 to regression test matrix
gounthar Mar 30, 2026
45149c3
build(deps): bump toml from 1.1.0+spec-1.1.0 to 1.1.1+spec-1.1.0
dependabot[bot] Mar 31, 2026
09b3085
Merge pull request #897 from dalance/dependabot/cargo/toml-1.1.1spec-…
github-actions[bot] Mar 31, 2026
aca256c
build(deps): bump toml from 1.1.1+spec-1.1.0 to 1.1.2+spec-1.1.0
dependabot[bot] Apr 2, 2026
1cdaf86
Merge pull request #898 from dalance/dependabot/cargo/toml-1.1.2spec-…
github-actions[bot] Apr 2, 2026
b4663c6
build(deps): bump libc from 0.2.183 to 0.2.184
dependabot[bot] Apr 2, 2026
f1e065c
Merge pull request #899 from dalance/dependabot/cargo/libc-0.2.184
github-actions[bot] Apr 2, 2026
2765847
build(deps): bump tokio from 1.50.0 to 1.51.0
dependabot[bot] Apr 3, 2026
4437400
Merge pull request #901 from dalance/dependabot/cargo/tokio-1.51.0
github-actions[bot] Apr 3, 2026
ef5fe48
Merge branch 'master' into feat/release-riscv64
gounthar Apr 5, 2026
1ffe3b8
ci: skip tests on riscv64, build only
gounthar Apr 5, 2026
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
13 changes: 13 additions & 0 deletions .github/workflows/regression.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,23 @@ jobs:
- os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
run_tests: true
- os: ubuntu-24.04-arm
rust: stable
target: aarch64-unknown-linux-gnu
run_tests: true
- os: ubuntu-24.04-riscv
rust: stable
target: riscv64gc-unknown-linux-gnu
run_tests: false
Comment on lines +22 to +25
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="$(gh repo view --json nameWithOwner -q .nameWithOwner)"
echo "Repository: ${repo}"

echo "== Self-hosted runners and labels =="
gh api "repos/${repo}/actions/runners?per_page=100" \
  | jq -r '.runners[] | .name as $n | .labels[].name | [$n, .] | `@tsv`' \
  | sort -u || true

echo "== Check required label: ubuntu-24.04-riscv =="
if gh api "repos/${repo}/actions/runners?per_page=100" \
  | jq -e '.runners[].labels[].name | select(.=="ubuntu-24.04-riscv")' >/dev/null; then
  echo "FOUND: ubuntu-24.04-riscv"
else
  echo "MISSING: ubuntu-24.04-riscv"
fi

echo "== actionlint config (if custom label is intentional) =="
fd -i 'actionlint\.ya?ml' -a || true
fd -i 'actionlint\.ya?ml' -a --exec sed -n '1,200p' {} || true

Repository: gounthar/procs

Length of output: 156


🏁 Script executed:

# Check the workflow file and surrounding context
cat -n .github/workflows/regression.yml | head -50

Repository: gounthar/procs

Length of output: 1787


🏁 Script executed:

# Look for actionlint configuration
find .github -type f -name "*actionlint*" -o -name ".actionlintrc*"

Repository: gounthar/procs

Length of output: 40


🏁 Script executed:

# Search for self-hosted runner references in workflows
rg -i "self-hosted" .github/workflows/

Repository: gounthar/procs

Length of output: 40


🏁 Script executed:

# Check if there are other workflow files that might reference ubuntu-24.04-riscv
rg "ubuntu-24.04-riscv" .github/

Repository: gounthar/procs

Length of output: 325


🏁 Script executed:

# Look for any documentation about runners or CI setup
fd -i readme .github/ -o -i readme . --max-depth 2 --exec cat {} \;

Repository: gounthar/procs

Length of output: 174


🏁 Script executed:

# Check release.yml to see how ubuntu-24.04-riscv is used
cat -n .github/workflows/release.yml | head -100

Repository: gounthar/procs

Length of output: 2304


Non-standard runner label will not schedule without self-hosted runners configured

Lines 22-25 use ubuntu-24.04-riscv, which is neither a GitHub-hosted runner label nor a documented self-hosted label within this repository. This label appears intentionally in both regression.yml (line 22) and release.yml (line 13), with conditional build steps, but without visible self-hosted runner infrastructure in the repo, these job legs will fail to schedule on GitHub Actions.

This creates a portability issue: external contributors or forks cannot run these workflows without separately setting up self-hosted runners with the ubuntu-24.04-riscv label, which is not transparent from the workflow files alone.

Recommended action:

  • Document the self-hosted runner requirement in the repository (e.g., in CONTRIBUTING.md or a .github/RUNNER_SETUP.md)
  • Alternatively, make the RISC-V job conditional (e.g., if: github.repository == 'gounthar/procs') to prevent failures in forks, or conditionally skip it if runners are not available
🧰 Tools
🪛 actionlint (1.7.12)

[error] 22-22: label "ubuntu-24.04-riscv" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/regression.yml around lines 22 - 25, The workflow uses a
non-standard self-hosted runner label "ubuntu-24.04-riscv" in regression.yml and
release.yml which will fail to schedule on forks or repos without that runner;
update the repo by adding a short note in CONTRIBUTING.md (or
.github/RUNNER_SETUP.md) describing the self-hosted runner requirement and the
expected label, and modify the workflows to guard the RISC-V job so it doesn't
run on repos without the runner (for example add a conditional check to the
RISC-V job that skips it unless running in the canonical repo or unless the
runner label is available, e.g. using an if: condition like github.repository ==
'gounthar/procs' or another suitable guard) so external contributors/forks won't
have unschedulable job legs.

- os: macOS-latest
rust: stable
target: x86_64-apple-darwin
run_tests: true
- os: windows-latest
rust: stable
target: x86_64-pc-windows-msvc
run_tests: true

runs-on: ${{ matrix.os }}
steps:
Expand All @@ -31,9 +39,14 @@ jobs:
with:
toolchain: ${{ matrix.rust }}
targets: ${{ matrix.target }}
- name: Build
if: "!matrix.run_tests"
run: cargo build --locked --target ${{ matrix.target }}
- name: Run tests
if: matrix.run_tests
run: cargo test --locked --target ${{ matrix.target }}
- name: Run tests feature variation
if: matrix.run_tests
run: cargo test --locked --target ${{ matrix.target }} --no-default-features

build-freebsd:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macOS-latest, windows-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, ubuntu-24.04-riscv, macOS-latest, windows-latest]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Same self-hosted runner label issue as regression.yml.

The ubuntu-24.04-riscv label triggers the same actionlint warning. The recommended actionlint.yaml configuration (suggested in the regression.yml review) will resolve this for both workflow files.

🧰 Tools
🪛 actionlint (1.7.12)

[error] 13-13: label "ubuntu-24.04-riscv" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml at line 13, The workflow includes the
self-hosted runner label "ubuntu-24.04-riscv" in the matrix 'os' which triggers
actionlint warnings; update the repository-level actionlint configuration like
you did for regression.yml so this label is accepted. Add the same
rule/allow-list entry to actionlint.yaml (the previously suggested
configuration) so actionlint recognizes "ubuntu-24.04-riscv" as a valid runner
label for the 'os' matrix in release.yml and re-run validation.

rust: [stable]

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -46,6 +46,9 @@ jobs:
- name: Build for linux aarch64
if: matrix.os == 'ubuntu-24.04-arm'
run: make release_lnx_aarch64
- name: Build for linux riscv64
if: matrix.os == 'ubuntu-24.04-riscv'
run: make release_lnx_riscv64
- name: Build for macOS
if: matrix.os == 'macOS-latest'
run: make release_mac
Expand Down
Loading
Loading