From 0c6f77910a741e6f0794f3cf45684717245adf0b Mon Sep 17 00:00:00 2001 From: Volker Christian Date: Sat, 10 Oct 2026 18:27:44 +0200 Subject: [PATCH 1/3] Adopt shared Phase 2 Verify while preserving repository-specific qualification --- .github/workflows/ci.yml | 141 ++------------------------------------- .snodec/repo.yml | 25 +++++++ 2 files changed, 32 insertions(+), 134 deletions(-) create mode 100644 .snodec/repo.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df44ef0..ad1d09b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,13 +1,6 @@ name: CI - -on: - push: - branches: [master] - pull_request: - -permissions: - contents: read - +on: [push, pull_request, workflow_dispatch] +permissions: { contents: read } concurrency: group: codexui-ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true @@ -18,129 +11,10 @@ env: CODEXUI_TIMING_POLICY: report jobs: - gcc-15-debug: - runs-on: ubuntu-24.04 - container: - image: gcc:15.3.0-trixie - options: --cap-add=NET_ADMIN --sysctl net.ipv6.conf.all.disable_ipv6=0 - timeout-minutes: 45 - - steps: - - name: Check out exact CodexUI head - uses: actions/checkout@v5 - with: - fetch-depth: 0 - ref: >- - ${{ github.event_name == 'pull_request' && - github.event.pull_request.head.sha || github.sha }} - - - name: Check out SNode.C head - uses: actions/checkout@v5 - with: - repository: SNodeC/snode.c - ref: master - path: _deps/snodec - - - name: Check out AISuite master - uses: actions/checkout@v5 - with: - repository: SNodeC/AISuite - ref: master - path: _deps/aisuite - - - name: Install build dependencies - run: | - apt-get update - apt-get install -y \ - cmake \ - iproute2 \ - libbluetooth-dev \ - libgit2-dev \ - libmagic-dev \ - libssl-dev \ - ninja-build \ - nlohmann-json3-dev \ - pkg-config \ - qt6-base-dev - git config --global --add safe.directory "$GITHUB_WORKSPACE" - git config --global --add safe.directory "$GITHUB_WORKSPACE/_deps/snodec" - git config --global --add safe.directory "$GITHUB_WORKSPACE/_deps/aisuite" - getent group snodec >/dev/null || groupadd --system snodec - - - name: Enable IPv6 transport coverage - run: | - ip link add codexui-ci-v6 type dummy - ip link set codexui-ci-v6 up - ip -6 address add fd00::1/128 dev codexui-ci-v6 - ip -6 address show dev codexui-ci-v6 - getent ahostsv6 ::1 - - - name: Verify CodexUI source revision - shell: bash - env: - CODEXUI_EXPECTED_HEAD: >- - ${{ github.event_name == 'pull_request' && - github.event.pull_request.head.sha || github.sha }} - run: | - set -euo pipefail - test "$(git rev-parse HEAD)" = "$CODEXUI_EXPECTED_HEAD" - - - name: Build and install SNode.C - run: | - cmake -S _deps/snodec -B _build/snodec -G Ninja \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/_stage/snodec" \ - -DSNODEC_BUILD_TESTS=OFF \ - -DSNODEC_BUILD_APPS=OFF - cmake --build _build/snodec --target all - cmake --install _build/snodec - - - name: Build, test, and install AISuite Codex - run: | - cmake -S _deps/aisuite -B _build/aisuite -G Ninja \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/_stage/aisuite" \ - -DCMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/_stage/snodec" \ - -DAISUITE_BUILD_CODEX_TESTS=ON \ - -DAISUITE_BUILD_APPS=ON - cmake --build _build/aisuite --target all --parallel 2 - install -d -m 0770 -g snodec \ - /etc/snode.c \ - /var/log/snode.c \ - /var/run/snode.c - LD_LIBRARY_PATH="$GITHUB_WORKSPACE/_stage/snodec/lib" \ - ctest --test-dir _build/aisuite --output-on-failure - cmake --install _build/aisuite - - - name: Configure CodexUI - run: | - cmake -S . -B build -G Ninja \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/_stage/aisuite;$GITHUB_WORKSPACE/_stage/snodec" \ - -DCODEXUI_INSTALL_WEB=OFF - - - name: Build CodexUI - run: cmake --build build --target all - - - name: Test CodexUI - run: | - LD_LIBRARY_PATH="$GITHUB_WORKSPACE/_stage/aisuite/lib:$GITHUB_WORKSPACE/_stage/snodec/lib" \ - ctest --test-dir build --output-on-failure --verbose - - - name: Check changed lines - shell: bash - env: - CODEXUI_BASE_SHA: ${{ github.event.pull_request.base.sha }} - run: | - set -euo pipefail - if [[ "${{ github.event_name }}" == "pull_request" ]] - then - git diff --check "$CODEXUI_BASE_SHA...HEAD" - else - git diff --check HEAD^ HEAD - fi - - web: + snodec: + uses: SNodeC/.github/.github/workflows/verify.yml@v1 + secrets: inherit + x-web: runs-on: ubuntu-24.04 timeout-minutes: 15 @@ -154,11 +28,10 @@ jobs: github.event.pull_request.head.sha || github.sha }} path: CodexUI/codexui - - name: Check out AISuite master frontend SDK + - name: Check out AISuite default-branch frontend SDK uses: actions/checkout@v5 with: repository: SNodeC/AISuite - ref: master path: AISuite-extraction/AISuite-final - name: Set up Node.js diff --git a/.snodec/repo.yml b/.snodec/repo.yml new file mode 100644 index 0000000..8fe3c82 --- /dev/null +++ b/.snodec/repo.yml @@ -0,0 +1,25 @@ +# Build specifics only; identity lives in SNodeC/.github/catalog.yml. +ci: + profile: cpp + apt: + - libgit2-dev + - qt6-base-dev + - xvfb + - xauth + deps: + - snode.c@dev + - AISuite@dev + cmake_options: + - -DCMAKE_BUILD_TYPE=Debug + - -DBUILD_TESTING=ON + - -DCODEXUI_INSTALL_WEB=OFF + ctest_args: + - --output-on-failure + - --verbose + - --parallel + - '14' + ipv6: true + runtime_dirs: true + parallel: 14 + env: {CODEXUI_TIMING_POLICY: report} + ctest_launcher: [xvfb-run, -a, env, QT_QPA_PLATFORM=offscreen] From 24655c66be22a1030f9291d6992e48755ff0f2c1 Mon Sep 17 00:00:00 2001 From: Volker Christian Date: Sat, 10 Oct 2026 18:39:36 +0200 Subject: [PATCH 2/3] Reference the approved existing control workflow tag v1.0 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad1d09b..dd5c7d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ env: jobs: snodec: - uses: SNodeC/.github/.github/workflows/verify.yml@v1 + uses: SNodeC/.github/.github/workflows/verify.yml@v1.0 secrets: inherit x-web: runs-on: ubuntu-24.04 From 09fd5761fe321da114289d3056f44d64043c7395 Mon Sep 17 00:00:00 2001 From: Volker Christian Date: Sat, 10 Oct 2026 19:54:24 +0200 Subject: [PATCH 3/3] Use source dependencies without SDK publication --- .snodec/repo.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.snodec/repo.yml b/.snodec/repo.yml index 8fe3c82..eebcbc0 100644 --- a/.snodec/repo.yml +++ b/.snodec/repo.yml @@ -7,8 +7,8 @@ ci: - xvfb - xauth deps: - - snode.c@dev - - AISuite@dev + - snode.c@source + - AISuite@source cmake_options: - -DCMAKE_BUILD_TYPE=Debug - -DBUILD_TESTING=ON