feat: let claude refactor ci
📊 Benchmark the Runtime / benchmark (pull_request) Failing after 1s
🚀 Lint & Test & Deploy / quality (pull_request) Failing after 1s
🚀 Lint & Test & Deploy / test (pull_request) Failing after 1s
🚀 Lint & Test & Deploy / deploy (pull_request) Has been skipped

This commit is contained in:
2026-05-03 17:04:13 +02:00
parent ccc376d158
commit 4572d30005
3 changed files with 82 additions and 67 deletions
+37
View File
@@ -0,0 +1,37 @@
name: Setup
description: Checkout code, restore caches, and install pnpm dependencies
inputs:
token:
required: true
runs:
using: composite
steps:
- name: 📑 Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ inputs.token }}
- name: 💾 Setup pnpm Cache
uses: actions/cache@v4
with:
path: .pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: 🦀 Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: 📦 Install Dependencies
shell: bash
run: pnpm install --frozen-lockfile --store-dir .pnpm-store
+15 -39
View File
@@ -12,40 +12,17 @@ env:
CARGO_TARGET_DIR: target CARGO_TARGET_DIR: target
jobs: jobs:
release: benchmark:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69 container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69
steps: steps:
- name: 📑 Checkout Code - name: 🔧 Setup
uses: actions/checkout@v4 uses: ./.gitea/actions/setup
with: with:
fetch-depth: 0
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
- name: 💾 Setup pnpm Cache - name: 🛠️ Build Nodes
uses: actions/cache@v4
with:
path: ${{ env.PNPM_CACHE_FOLDER }}
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: 🦀 Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: 📦 Install Dependencies
run: pnpm install --frozen-lockfile --store-dir ${{ env.PNPM_CACHE_FOLDER }}
- name: 🛠️Build Nodes
run: pnpm build:nodes run: pnpm build:nodes
- name: 🏃 Execute Runtime - name: 🏃 Execute Runtime
@@ -56,7 +33,13 @@ jobs:
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "${{ secrets.GIT_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 echo "${{ secrets.GIT_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -p 2222 -H git.max-richter.dev >> ~/.ssh/known_hosts cat >> ~/.ssh/config <<'EOF'
Host git.max-richter.dev
Port 2222
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
EOF
ssh-keyscan -H git.max-richter.dev >> ~/.ssh/known_hosts
- name: 📤 Push Results - name: 📤 Push Results
env: env:
@@ -65,23 +48,16 @@ jobs:
git config --global user.name "nodarium-bot" git config --global user.name "nodarium-bot"
git config --global user.email "nodarium-bot@max-richter.dev" git config --global user.email "nodarium-bot@max-richter.dev"
# 2. Clone the benchmarks repo into a temp folder
git config --global core.sshCommand "ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes"
git clone git@git.max-richter.dev:max/nodarium-benchmarks.git target_bench_repo git clone git@git.max-richter.dev:max/nodarium-benchmarks.git target_bench_repo
# 3. Create a directory structure based on the branch BRANCH="${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}"
# This allows the UI to "switch between branches" SAFE_PR_NAME=$(printf "%s" "$BRANCH" | tr '/' '-')
SAFE_PR_NAME=$(printf "%s" "$GITHUB_HEAD_REF" | tr '/' '-')
DEST_DIR="target_bench_repo/data/$SAFE_PR_NAME/$(date +%s)" DEST_DIR="target_bench_repo/data/$SAFE_PR_NAME/$(date +%s)"
mkdir -p "$DEST_DIR" mkdir -p "$DEST_DIR"
# 4. Copy the new results
# Assuming your bench tool outputs a file named 'results.json'
cp app/benchmark/out/*.json "$DEST_DIR/" cp app/benchmark/out/*.json "$DEST_DIR/"
# 5. Commit and Push
cd target_bench_repo cd target_bench_repo
git add . git add .
git commit -m "Update benchmarks for $SAFE_PR_NAME: ${{ github.sha }}" git commit -m "Update benchmarks for $SAFE_PR_NAME: ${{ gitea.sha }}"
git push origin main git push origin main
+30 -28
View File
@@ -13,46 +13,49 @@ env:
CARGO_TARGET_DIR: target CARGO_TARGET_DIR: target
jobs: jobs:
release: quality:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69 container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69
steps: steps:
- name: 📑 Checkout Code - name: 🔧 Setup
uses: actions/checkout@v4 uses: ./.gitea/actions/setup
with: with:
fetch-depth: 0
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
- name: 💾 Setup pnpm Cache
uses: actions/cache@v4
with:
path: ${{ env.PNPM_CACHE_FOLDER }}
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: 🦀 Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: 📦 Install Dependencies
run: pnpm install --frozen-lockfile --store-dir ${{ env.PNPM_CACHE_FOLDER }}
- name: 🧹 Quality Control - name: 🧹 Quality Control
run: | run: |
pnpm lint pnpm lint
pnpm format:check pnpm format:check
pnpm check pnpm check
pnpm build pnpm build
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" pnpm test
test:
runs-on: ubuntu-latest
container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69
steps:
- name: 🔧 Setup
uses: ./.gitea/actions/setup
with:
token: ${{ secrets.GITEA_TOKEN }}
- name: 🧪 Run Tests
run: xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" pnpm test
deploy:
runs-on: ubuntu-latest
needs: [quality, test]
container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69
steps:
- name: 🔧 Setup
uses: ./.gitea/actions/setup
with:
token: ${{ secrets.GITEA_TOKEN }}
- name: 🏗️ Build Web Assets
run: pnpm build
- name: 🚀 Create Release Commit - name: 🚀 Create Release Commit
if: gitea.ref_type == 'tag' if: gitea.ref_type == 'tag'
@@ -81,4 +84,3 @@ jobs:
SSH_HOST: ${{ vars.SSH_HOST }} SSH_HOST: ${{ vars.SSH_HOST }}
SSH_PORT: ${{ vars.SSH_PORT }} SSH_PORT: ${{ vars.SSH_PORT }}
SSH_USER: ${{ vars.SSH_USER }} SSH_USER: ${{ vars.SSH_USER }}