Skip to content
Merged
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
1 change: 1 addition & 0 deletions .github/workflows/pr-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@

jobs:
authorize:
# falsify-f8-allow: authorization gate MUST run before self-hosted runner claim — untrusted PR code cannot execute on self-hosted infra.

Check warning on line 19 in .github/workflows/pr-gate.yml

View workflow job for this annotation

GitHub Actions / validate

19:81 [line-length] line too long (140 > 80 characters)
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Check PR author authorization
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1

Check warning on line 25 in .github/workflows/pr-gate.yml

View workflow job for this annotation

GitHub Actions / validate

25:81 [line-length] line too long (85 > 80 characters)
with:
script: |
const author = context.payload.pull_request.user.login;
Expand All @@ -44,7 +45,7 @@
]);

if (allowlist.has(author)) {
console.log(`${author} is on the external contributor allowlist — allowed`);

Check warning on line 48 in .github/workflows/pr-gate.yml

View workflow job for this annotation

GitHub Actions / validate

48:81 [line-length] line too long (90 > 80 characters)
return;
}

Expand All @@ -71,9 +72,9 @@
body: [
`Thank you for your interest in this project, @${author}.`,
'',
'This repository only accepts pull requests from organization members and authorized contributors. Your PR has been closed automatically.',

Check warning on line 75 in .github/workflows/pr-gate.yml

View workflow job for this annotation

GitHub Actions / validate

75:81 [line-length] line too long (155 > 80 characters)
'',
'If you believe you should have access, please open an issue to discuss your contribution first.',

Check warning on line 77 in .github/workflows/pr-gate.yml

View workflow job for this annotation

GitHub Actions / validate

77:81 [line-length] line too long (114 > 80 characters)
].join('\n'),
});

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/sovereign-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Change once here → applies to all 38 repos instantly.
#
# Self-hosted jobs run inside the sovereign-ci container (built by forjar).
# Each job gets an isolated filesystem — no shared ~/.rustup/, no race conditions.

Check warning on line 7 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

7:81 [line-length] line too long (82 > 80 characters)
# Image: localhost:5000/sovereign-ci:stable (local registry on mac-server)
# Rebuild: cd infra && make -f machines/intel/Makefile ci-image
#
Expand Down Expand Up @@ -48,7 +48,7 @@
default: false
type: boolean
extra_pkgs:
description: 'Extra apt packages to install in container (e.g. python3-dev libclang-dev)'

Check warning on line 51 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

51:81 [line-length] line too long (97 > 80 characters)
required: false
default: ''
type: string
Expand All @@ -73,7 +73,7 @@
jobs:
test:
name: test
runs-on: [self-hosted, clean-room]

Check failure on line 76 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

label "clean-room" 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
container:
image: localhost:5000/sovereign-ci:stable@sha256:a7d47ef6e12e23c83075ceff4c41be8f34b00e68639a48bca9e41a2b2c8db80b
# Phase 3 §5.3 — sccache rustc cache + /var/log/ci-metrics for F9 stats.
Expand All @@ -89,11 +89,11 @@
persist-credentials: false
- name: Install extra packages
if: ${{ inputs.extra_pkgs != '' }}
run: |

Check failure on line 92 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2015:info:2:25: Note that A && B || C is not if-then-else. C may run when A is true
apt-get update -qq && apt-get install -y -qq ${{ inputs.extra_pkgs }} 2>/dev/null || \
sudo apt-get update -qq && sudo apt-get install -y -qq ${{ inputs.extra_pkgs }} 2>/dev/null || true
- name: Checkout sibling repos (path deps)
run: |

Check failure on line 96 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2015:info:15:60: Note that A && B || C is not if-then-else. C may run when A is true
cd "$GITHUB_WORKSPACE/.."
# APR-MONO (2026-04-13): trueno, trueno-rag, trueno-db, trueno-viz,
# alimentar, presentar, renacer, batuta, realizar, probar merged into
Expand Down Expand Up @@ -129,7 +129,7 @@
# Note: generated contract macros may have unused variables (provable-contracts#64).
# This is handled by adding -A unused-variables to the clippy step.
- name: Generate contract assertions (pv codegen)
run: |

Check failure on line 132 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2012:info:9:3: Use find instead of ls to better handle non-alphanumeric filenames
# pv is baked into sovereign-ci:stable at /usr/local/cargo/bin/pv
PV=""
for candidate in /usr/local/cargo/bin/pv /usr/local/bin/pv; do
Expand Down Expand Up @@ -178,7 +178,7 @@
REPO_NAME: ${{ inputs.repo }}
RUSTC_WRAPPER: ${{ inputs.enable_sccache && 'sccache' || '' }}
SCCACHE_DIR: ${{ inputs.enable_sccache && '/sccache' || '' }}
run: |

Check failure on line 181 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2086:info:4:34: Double quote to prevent globbing and word splitting

Check failure on line 181 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2086:info:3:18: Double quote to prevent globbing and word splitting
# Mark workspace as safe for git operations inside tests (dubious ownership in containers)
git config --global --add safe.directory "$GITHUB_WORKSPACE"
cargo test --lib $TEST_ARGS 2>&1 || \
Expand All @@ -193,7 +193,7 @@

lint:
name: lint
runs-on: [self-hosted, clean-room]

Check failure on line 196 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

label "clean-room" 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
container:
image: localhost:5000/sovereign-ci:stable@sha256:a7d47ef6e12e23c83075ceff4c41be8f34b00e68639a48bca9e41a2b2c8db80b
# Phase 3 §5.3 — sccache rustc cache + /var/log/ci-metrics for F9 stats.
Expand All @@ -209,11 +209,11 @@
persist-credentials: false
- name: Install extra packages
if: ${{ inputs.extra_pkgs != '' }}
run: |

Check failure on line 212 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2015:info:2:25: Note that A && B || C is not if-then-else. C may run when A is true
apt-get update -qq && apt-get install -y -qq ${{ inputs.extra_pkgs }} 2>/dev/null || \
sudo apt-get update -qq && sudo apt-get install -y -qq ${{ inputs.extra_pkgs }} 2>/dev/null || true
- name: Checkout sibling repos (path deps)
run: |

Check failure on line 216 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2015:info:15:60: Note that A && B || C is not if-then-else. C may run when A is true
cd "$GITHUB_WORKSPACE/.."
# APR-MONO (2026-04-13): trueno, trueno-rag, trueno-db, trueno-viz,
# alimentar, presentar, renacer, batuta, realizar, probar merged into
Expand Down Expand Up @@ -294,7 +294,7 @@
REPO_NAME: ${{ inputs.repo }}
RUSTC_WRAPPER: ${{ inputs.enable_sccache && 'sccache' || '' }}
SCCACHE_DIR: ${{ inputs.enable_sccache && '/sccache' || '' }}
run: |

Check failure on line 297 in .github/workflows/sovereign-ci.yml

View workflow job for this annotation

GitHub Actions / validate

shellcheck reported issue in this script: SC2086:info:1:14: Double quote to prevent globbing and word splitting
cargo clippy $CLIPPY_ARGS -- -D warnings -A unused-variables 2>&1 || \
cargo clippy -p "$REPO_NAME" -- -D warnings -A unused-variables 2>&1 || \
{ echo "::error::Clippy failed — check workspace path dependencies"; exit 1; }
Expand Down Expand Up @@ -643,6 +643,7 @@

provenance:
name: provenance
# falsify-f8-allow: SLSA attest-build-provenance needs GitHub OIDC id-token, only issued on GitHub-hosted runners. Job is continue-on-error (advisory).
runs-on: ubuntu-latest
timeout-minutes: 5
continue-on-error: true
Expand Down
Loading