Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
214bc8a
fix(OMN-13940): unquarantine executable merge sweep cron
jonahgabriel Jul 4, 2026
03bebe5
ci(OMN-13940): provide checkov matcher for security scan
jonahgabriel Jul 4, 2026
0e2344f
ci(OMN-13940): harden merge sweep runner dependencies
jonahgabriel Jul 5, 2026
23a6efd
ci(OMN-13940): run pyright native deps in pyright job
jonahgabriel Jul 5, 2026
1c60a87
ci(OMN-13940): tolerate non-root pyright dependency check
jonahgabriel Jul 5, 2026
5e7e162
ci(OMN-13940): run PR security docker actions on hosted runners
jonahgabriel Jul 5, 2026
8768f29
ci: harden omniclaude PR gates
jonahgabriel Jul 5, 2026
dc2d0a8
ci: pin dockle download in container scan
jonahgabriel Jul 5, 2026
a715d73
ci: address omniclaude review gate blockers
jonahgabriel Jul 5, 2026
cc5b1c6
ci: pin schema compatibility uv python
jonahgabriel Jul 5, 2026
0251a42
ci: isolate golden-chain redpanda endpoint
jonahgabriel Jul 5, 2026
66f8602
ci: pin hostile reviewer uv python
jonahgabriel Jul 5, 2026
a9e89dc
ci: harden live gate runtime readiness
jonahgabriel Jul 5, 2026
4e8d0c8
ci: support rootless pyright libatomic
jonahgabriel Jul 5, 2026
43ac3c8
ci: restore golden-chain redpanda service gate
jonahgabriel Jul 5, 2026
6056fc2
fix: resolve merge-sweep review defects
jonahgabriel Jul 5, 2026
2f7f4d0
ci: harden merge-sweep review follow-ups
jonahgabriel Jul 5, 2026
5243cb9
ci: constrain golden-chain redpanda service
jonahgabriel Jul 5, 2026
1b74cd4
ci: fix hostile reviewer verdict parsing
jonahgabriel Jul 5, 2026
7bd288d
ci: pin uv python in boundary gates
jonahgabriel Jul 5, 2026
2bbd30e
ci: pin uv python across CI sync steps
jonahgabriel Jul 5, 2026
b3e1f50
ci: stabilize golden-chain and hook error guard
jonahgabriel Jul 5, 2026
20514fa
ci: harden golden-chain live database startup
jonahgabriel Jul 5, 2026
89b64e9
ci: serialize golden-chain live service port
jonahgabriel Jul 5, 2026
04918d5
ci: pin plugin compat uv sync python
jonahgabriel Jul 5, 2026
f34309e
ci(OMN-13940): authenticate golden-chain postgres healthcheck
jonahgabriel Jul 5, 2026
dad3e9a
ci(OMN-13940): pin golden-chain postgres host port
jonahgabriel Jul 5, 2026
8db35b4
ci(OMN-13940): bound golden-chain consumer cleanup
jonahgabriel Jul 5, 2026
fc8cd19
fix(OMN-13940): invoke merge sweep from infra CLI
jonahgabriel Jul 5, 2026
15734fa
ci(OMN-13940): retry skill aspiration dependency sync
jonahgabriel Jul 5, 2026
923d30b
ci(OMN-13940): add merge sweep contract evidence
jonahgabriel Jul 5, 2026
cbbff49
ci(OMN-13940): refresh cancelled golden-chain check
jonahgabriel Jul 5, 2026
0f944f4
ci(OMN-13940): exclude docs python from link check
jonahgabriel Jul 5, 2026
3529a28
docs(OMN-13940): justify merge sweep canonical checkout refs
jonahgabriel Jul 5, 2026
d3f03c2
docs(OMN-13940): repair merge sweep skill frontmatter
jonahgabriel Jul 5, 2026
3c0b798
ci(OMN-13940): avoid secret-shaped golden-chain DSN
jonahgabriel Jul 5, 2026
6abe20c
ci(OMN-13940): address merge sweep review gates
jonahgabriel Jul 5, 2026
447e95c
ci: retrigger stale queued checks
jonahgabriel Jul 5, 2026
8fa57ca
ci(OMN-13940): extend schema compatibility uv timeout
jonahgabriel Jul 5, 2026
7e19f69
ci: retrigger cancelled validation checks
jonahgabriel Jul 5, 2026
6d1c0f8
ci: retrigger cancelled skill contract validation
jonahgabriel Jul 5, 2026
c52bf8f
ci(OMN-13940): extend golden chain live timeout
jonahgabriel Jul 5, 2026
e502a1d
fix(OMN-13940): align instructional skill gate
jonahgabriel Jul 5, 2026
335fbf3
ci(OMN-13940): provision proof validation compiler
jonahgabriel Jul 5, 2026
24bcfcc
ci(OMN-13940): avoid proof resolver native builds
jonahgabriel Jul 5, 2026
890a6e5
ci(OMN-13940): install compiler for skill backing validation
jonahgabriel Jul 5, 2026
728eec7
ci(OMN-13940): make native toolchain preflight nonfatal
jonahgabriel Jul 5, 2026
44de742
ci(OMN-13940): run registry consistency without pytest collection
jonahgabriel Jul 6, 2026
55e85fd
ci(OMN-13940): refresh golden chain after stale run cancel
jonahgabriel Jul 6, 2026
3f2b3c9
ci(OMN-13940): harden hostile reviewer uv sync
jonahgabriel Jul 6, 2026
d3f8a2a
ci(OMN-13940): harden validator requirements gate
jonahgabriel Jul 6, 2026
be75bf6
ci(OMN-13940): retry transient merge sweep gates
jonahgabriel Jul 6, 2026
669dd84
fix(OMN-13940): keep cron merge sweep watching pending queues
jonahgabriel Jul 6, 2026
70e5aba
fix(OMN-13940): enable merge sweep launchd install
jonahgabriel Jul 6, 2026
727b2b8
ci(OMN-13940): refresh cancelled check set
jonahgabriel Jul 6, 2026
0f65e00
fix(OMN-13940): clear merge sweep verification blockers
jonahgabriel Jul 6, 2026
df8f6d8
ci(OMN-13940): refresh cancelled merge-sweep check set
jonahgabriel Jul 6, 2026
53efa64
ci(OMN-13940): retry skill backing dependency sync
jonahgabriel Jul 7, 2026
ef3f1f6
fix(merge-sweep): harden launchd cron path
jonahgabriel Jul 7, 2026
457f30e
test(OMN-13940): align golden-chain connect timeout fake
jonahgabriel Jul 9, 2026
36fa1bf
test(OMN-13940): format golden-chain workflow assertion
jonahgabriel Jul 9, 2026
a0b0f7c
fix(OMN-13940): repair golden-chain CI arguments
jonahgabriel Jul 9, 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
168 changes: 141 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,21 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: |
set -euo pipefail
for attempt in 1 2 3; do
if uv sync --frozen --group dev --python "${PYTHON_VERSION}"; then
exit 0
fi
status=$?
if [ "$attempt" -eq 3 ]; then
echo "::error::uv sync failed after ${attempt} attempts"
exit "$status"
fi
sleep_seconds=$((attempt * 20))
echo "::warning::uv sync attempt ${attempt}/3 failed with exit ${status}; retrying in ${sleep_seconds}s"
sleep "$sleep_seconds"
done

- name: Ruff format check
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -154,6 +168,7 @@ jobs:
--exclude 'https://github\.com/OmniNode-ai'
--exclude 'https://github\.com/fastapi'
--exclude 'https://stackoverflow\.com'
--exclude 'https://docs\.python\.org'
--exclude 'https://staging\.omniclaude\.example\.com'
--exclude 'https://omniclaude\.example\.com'
--exclude 'http://localhost'
Expand All @@ -165,6 +180,8 @@ jobs:
--exclude 'https://github\.com/fastapi'
--exclude 'https://stackoverflow\.com'
--exclude 'https://dash\.dev\.omninode\.ai'
--exclude 'https://www\.psycopg\.org/docs'
--exclude 'https://docs\.anthropic\.com'
--accept 200..=299,429,503
'**/*.md'
fail: true
Expand Down Expand Up @@ -192,6 +209,67 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Ensure pyright native runtime libraries
if: runner.os == 'Linux'
run: |
set -euo pipefail
has_libatomic() {
if command -v ldconfig >/dev/null 2>&1 && ldconfig -p | grep -q 'libatomic.so.1'; then
return 0
fi
if [ -n "${PYRIGHT_LIBATOMIC_DIR:-}" ] && find "${PYRIGHT_LIBATOMIC_DIR}" -name 'libatomic.so.1*' -print -quit | grep -q .; then
return 0
fi
return 1
}
if command -v ldconfig >/dev/null 2>&1 && ldconfig -p | grep -q 'libatomic.so.1'; then
exit 0
fi
SUDO=""
if command -v sudo >/dev/null 2>&1; then
SUDO="sudo"
elif [ "$(id -u)" -ne 0 ]; then
lib_dir="${RUNNER_TEMP:-/tmp}/pyright-libatomic"
mkdir -p "${lib_dir}"
if command -v apt-get >/dev/null 2>&1 && command -v dpkg-deb >/dev/null 2>&1; then
mkdir -p "${lib_dir}/apt/lists/partial" "${lib_dir}/apt/cache/archives/partial"
apt_opts=(
-o "Dir::State::lists=${lib_dir}/apt/lists"
-o "Dir::Cache=${lib_dir}/apt/cache"
-o "Dir::State::status=/var/lib/dpkg/status"
)
(
cd "${lib_dir}"
apt-get "${apt_opts[@]}" update
apt-get "${apt_opts[@]}" download libatomic1
dpkg-deb -x libatomic1_*.deb .
)
found_dir="$(find "${lib_dir}" -name 'libatomic.so.1*' -print -quit | xargs dirname)"
{
echo "PYRIGHT_LIBATOMIC_DIR=${lib_dir}"
echo "LD_LIBRARY_PATH=${found_dir}:${LD_LIBRARY_PATH:-}"
} >> "${GITHUB_ENV}"
exit 0
fi
echo "::error::libatomic.so.1 is required by pyright's node runtime, but the runner user cannot install packages or extract libatomic1 locally"
exit 1
fi
if command -v apt-get >/dev/null 2>&1; then
$SUDO apt-get update
$SUDO apt-get install -y libatomic1
elif command -v dnf >/dev/null 2>&1; then
$SUDO dnf install -y libatomic
elif command -v yum >/dev/null 2>&1; then
$SUDO yum install -y libatomic
else
echo "::error::libatomic.so.1 is required by pyright's node runtime and no supported package manager is available"
exit 1
fi
if ! has_libatomic; then
echo "::error::libatomic.so.1 is still not visible after installation"
exit 1
fi

Comment thread
coderabbitai[bot] marked this conversation as resolved.
- name: Load cached venv
if: ${{ vars.OMNI_ENABLE_VENV_CACHE_RESTORE == 'true' }}
uses: actions/cache/restore@v6
Expand All @@ -201,7 +279,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Pyright
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -267,7 +345,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Validate enum governance
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -307,7 +385,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Validate exports
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -431,7 +509,21 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen
run: |
set -euo pipefail
for attempt in 1 2 3; do
if uv sync --frozen --python "${PYTHON_VERSION}"; then
exit 0
fi
status=$?
if [ "$attempt" -eq 3 ]; then
echo "::error::uv sync failed after ${attempt} attempts"
exit "$status"
fi
sleep_seconds=$((attempt * 20))
echo "::warning::uv sync attempt ${attempt}/3 failed with exit ${status}; retrying in ${sleep_seconds}s"
sleep "$sleep_seconds"
done

- name: Validate ONEX naming conventions
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -990,7 +1082,21 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: |
set -euo pipefail
for attempt in 1 2 3; do
if uv sync --frozen --group dev --python "${PYTHON_VERSION}"; then
exit 0
fi
status=$?
if [ "$attempt" -eq 3 ]; then
echo "::error::uv sync failed after ${attempt} attempts"
exit "$status"
fi
sleep_seconds=$((attempt * 20))
echo "::warning::uv sync attempt ${attempt}/3 failed with exit ${status}; retrying in ${sleep_seconds}s"
sleep "$sleep_seconds"
done

- name: Check no datetime.utcnow() usage
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1031,7 +1137,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Check no hardcoded internal IPs
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1075,7 +1181,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: F5.1 - Validate no cmd topic uses cleanup.policy=compact
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1126,7 +1232,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Check ONEX architectural invariants
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1226,7 +1332,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Validate golden chain registry
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1282,13 +1388,14 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Run registry consistency tests
working-directory: ${{ github.workspace }}
env:
OMNIMARKET_TOPICS_REGISTRY_PATH: ${{ github.workspace }}/_registry/omnimarket/src/omnimarket/nodes/node_emit_daemon/registries/topics.yaml
run: uv run pytest tests/hooks/test_registry_consistency.py -v
run: >-
uv run python scripts/validation/check_registry_consistency.py
--daemon-registry
"${{ github.workspace }}/_registry/omnimarket/src/omnimarket/nodes/node_emit_daemon/registries/topics.yaml"

# Live golden-chain gate (OMN-12690)
golden-chain-live:
Expand All @@ -1299,11 +1406,13 @@ jobs:
# runners provide reliable service port mapping; the self-hosted fleet has
# shown refused mapped Postgres ports under saturation.
runs-on: ubuntu-latest
timeout-minutes: 20
timeout-minutes: 30
services:
redpanda:
image: docker.redpanda.com/redpandadata/redpanda:v24.3.6
options: >-
--cpus 1
--cpuset-cpus 0
--health-cmd "rpk cluster health | grep -q 'Healthy:.*true'"
--health-interval 10s
--health-timeout 5s
Expand All @@ -1314,8 +1423,8 @@ jobs:
image: postgres:16-alpine
env:
POSTGRES_USER: golden_chain
POSTGRES_PASSWORD: test
POSTGRES_DB: omnidash_analytics
POSTGRES_HOST_AUTH_METHOD: trust
options: >-
--health-cmd "pg_isready -U golden_chain -d omnidash_analytics"
--health-interval 10s
Expand Down Expand Up @@ -1349,12 +1458,12 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev --extra kafka
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}" --extra kafka

- name: Run live golden-chain sweep
working-directory: ${{ github.workspace }}
env:
OMNIDASH_ANALYTICS_DB_URL: postgresql://golden_chain:test@127.0.0.1:${{ job.services.postgres.ports['5432'] }}/omnidash_analytics
OMNIDASH_ANALYTICS_DB_URL: postgresql://golden_chain@127.0.0.1:${{ job.services.postgres.ports['5432'] }}/omnidash_analytics
run: uv run python scripts/ci/run_golden_chain_live.py

# ============================================================================
Expand Down Expand Up @@ -1520,7 +1629,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen
run: uv sync --frozen --python "${PYTHON_VERSION}"

- name: Compute changed files
id: diff
Expand Down Expand Up @@ -1661,7 +1770,7 @@ jobs:
- name: Install dependencies
working-directory: ${{ github.workspace }}
run: |
uv sync --frozen --group dev
uv sync --frozen --group dev --python "${PYTHON_VERSION}"
uv pip install pytest-split pytest-cov

- name: Auto-generate skill nodes
Expand Down Expand Up @@ -1807,7 +1916,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Install PostgreSQL client
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -1910,7 +2019,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Run agent framework tests
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -2243,7 +2352,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --group dev
run: uv sync --group dev --python "${PYTHON_VERSION}"

- name: Validate mode metadata integrity
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -2374,7 +2483,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Run merge-sweep contract tests
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -2453,7 +2562,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen --group dev
run: uv sync --frozen --group dev --python "${PYTHON_VERSION}"

- name: Check if onex compliance command exists
id: check-command
Expand Down Expand Up @@ -2548,7 +2657,7 @@ jobs:

- name: Install dependencies
working-directory: ${{ github.workspace }}
run: uv sync --frozen
run: uv sync --frozen --python "${PYTHON_VERSION}"

- name: Validate all agent YAML contracts
working-directory: ${{ github.workspace }}
Expand Down Expand Up @@ -2873,9 +2982,14 @@ jobs:
enable-cache: true
cache-dependency-glob: 'onex_change_control/uv.lock'

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install onex_change_control
working-directory: onex_change_control
run: uv sync --all-extras
run: uv sync --all-extras --python "${PYTHON_VERSION}"

- name: Validate contract YAML files
working-directory: onex_change_control
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/concurrency-primitive-guard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,20 @@ jobs:
- name: Fetch base branch for diff
if: github.event_name == 'pull_request'
run: |
git fetch origin "${{ github.base_ref }}" --quiet
set -euo pipefail
for attempt in 1 2 3; do
if git fetch origin "${{ github.base_ref }}" --quiet; then
exit 0
fi
status=$?
if [ "$attempt" -eq 3 ]; then
echo "::error::git fetch origin ${{ github.base_ref }} failed after ${attempt} attempts"
exit "$status"
fi
sleep_seconds=$((attempt * 10))
echo "::warning::git fetch attempt ${attempt}/3 failed with exit ${status}; retrying in ${sleep_seconds}s"
sleep "$sleep_seconds"
done

- name: Set up Python
uses: actions/setup-python@v6
Expand Down
Loading
Loading