Private
Public Access
1
0
Commit Graph

16 Commits

Author SHA1 Message Date
a55bac60f3 ci: Add curl install before checkout in all quality gate jobs
Some checks failed
CI Pipeline / Rust Format Check (push) Failing after 0s
CI Pipeline / Rust Unit Tests (push) Failing after 0s
CI Pipeline / Security Audit (push) Failing after 0s
CI Pipeline / Frontend Lint & Type Check (push) Failing after 0s
CI Pipeline / Clippy Lints (push) Failing after 43s
CI Pipeline / Build .deb & Release (push) Has been skipped
- rust-format job failed because curl was not available for checkout
- Added 'Install checkout dependencies' step (curl, ca-certificates) to all jobs
- Fixed duplicate steps block in rust-test job
2026-04-24 15:14:27 +00:00
b94f041aea ci: Consolidate into single unified CI pipeline
Some checks failed
CI Pipeline / Rust Format Check (push) Failing after 0s
CI Pipeline / Rust Unit Tests (push) Failing after 0s
CI Pipeline / Security Audit (push) Failing after 0s
CI Pipeline / Frontend Lint & Type Check (push) Failing after 0s
CI Pipeline / Clippy Lints (push) Failing after 43s
CI Pipeline / Build .deb & Release (push) Has been skipped
- Merged build.yml into ci.yml - single source of truth
- Quality gates (format, clippy, test, audit, lint) run on every push/PR/tag
- Build & Release job only runs on v* tag pushes
- Build & Release depends on ALL quality gates passing
- Deleted build.yml - no more split workflow confusion
- Added rustfmt.toml, clippy.toml, eslint.config.js configs
2026-04-24 15:07:13 +00:00
f49ec1ac51 ci: Add comprehensive CI quality gates
Some checks failed
CI Quality Gates / Rust Format Check (push) Failing after 0s
CI Quality Gates / Rust Unit Tests (push) Failing after 0s
CI Quality Gates / Security Audit (push) Failing after 0s
CI Quality Gates / Frontend Lint & Type Check (push) Failing after 0s
CI Quality Gates / Clippy Lints (push) Failing after 43s
- New ci.yml workflow: rust-format, clippy, rust-test, security-audit, frontend-lint
- rustfmt.toml: strict formatting rules (edition 2021, max_width 100, grouped imports)
- clippy.toml: lint configuration with complexity thresholds
- eslint.config.js: ESLint 9 flat config for TypeScript/React
- build.yml: now only triggers on v* tags (ci.yml handles master/PR)
- package.json: updated lint script for ESLint 9 flat config

Quality gates run on every push to master and every PR:
1. Rust Format Check (cargo fmt --check --all)
2. Clippy Lints (pedantic + deny warnings)
3. Rust Unit Tests (cargo test --workspace --all-features)
4. Security Audit (cargo audit)
5. Frontend Lint (ESLint + TypeScript type check)
2026-04-24 14:55:01 +00:00
475bcde7ed ci: Use standalone release script to fix JSON escaping issues
All checks were successful
Build .deb Package / build-and-package (push) Successful in 2m10s
- Shell/curl JSON escaping caused HTTP 422 errors
- Created scripts/create-release.py for reliable Gitea release creation
- Uses Python urllib for proper JSON handling and multipart upload
- Supports GITEA_TOKEN/GITHUB_TOKEN env vars with fallback
2026-04-24 12:30:23 +00:00
101eb81f16 ci: Fix release step with hardcoded repo path and error handling
Some checks failed
Build .deb Package / build-and-package (push) Failing after 2m12s
- GITHUB_REPOSITORY may be empty in linux:host mode
- Added REPO fallback to echo/linux_patch_manager
- Added REF_NAME fallback for GITHUB_REF_NAME
- Added HTTP status code check before parsing release JSON
- Debug output for API response
2026-04-24 12:02:50 +00:00
e6829d0aa9 ci: Remove debug step, fix release auth for GITEA_TOKEN fallback
Some checks failed
Build .deb Package / build-and-package (push) Failing after 2m10s
- Removed debug environment step (no longer needed)
- Release upload step now uses GITEA_TOKEN fallback
- Uses internal Gitea API URL for release creation
2026-04-24 11:50:19 +00:00
f21853f88c ci: Add debug step to check available env vars in linux:host mode
All checks were successful
Build .deb Package / build-and-package (push) Successful in 2m12s
- Need to verify which tokens are available in host execution
- GITHUB_TOKEN may not be injected; GITEA_TOKEN added to systemd env
- Debug output will guide checkout auth fix
2026-04-24 02:59:28 +00:00
fa5456c2b8 ci: Use GITEA_TOKEN fallback for API archive checkout
All checks were successful
Build .deb Package / build-and-package (push) Successful in 2m16s
- GITHUB_TOKEN may not be injected in linux:host mode
- Use GITEA_TOKEN from runner environment as fallback
- API archive download with Authorization header is proven working
- Added GITEA_TOKEN to act-runner systemd service environment
2026-04-24 02:54:18 +00:00
9c924a204c ci: Use Gitea API archive download instead of git clone
Some checks failed
Build .deb Package / build-and-package (push) Failing after 1s
- git clone with token-in-URL doesn't work for private repos in Gitea
- Use API archive endpoint with Authorization header instead
- curl archive tarball, extract with --strip-components=1
- More reliable than git URL auth for self-hosted runners
2026-04-24 02:21:16 +00:00
6ce34546e1 ci: Hardcode internal Gitea URL for checkout with auth
Some checks failed
Build .deb Package / build-and-package (push) Failing after 1s
- GITHUB_SERVER_URL may point to unreachable external domain
- Use http://192.168.2.189:3000 directly with GITHUB_TOKEN for auth
- Private repos require token-in-URL authentication
2026-04-24 02:18:27 +00:00
c9f9a59ce6 ci: Fix git clone with GITHUB_TOKEN for private repo auth
Some checks failed
Build .deb Package / build-and-package (push) Failing after 1s
- Private repos require authentication for git clone
- Inject GITHUB_TOKEN into clone URL: http://echo:{GITHUB_TOKEN}@host/repo.git
- Kill stuck clone processes on runner before new build
2026-04-24 02:17:51 +00:00
aa73ef7f38 ci: Use native host runner (runs-on: linux) for LXC compatibility
Some checks failed
Build .deb Package / build-and-package (push) Has been cancelled
- Docker-in-Docker fails with SIGKILL in LXC (exit 137 after 45s)
- Even --privileged mode doesn't fix DinD in LXC
- Native act_runner binary installed on LXC host with systemd service
- Host is Ubuntu 24.04 with Rust 1.95, Node 18, npm pre-installed
- runs-on: linux maps to linux:host label (direct host execution)
- No GitHub action dependencies (pure shell steps only)
2026-04-24 01:53:26 +00:00
55a3b504fa ci: Use ubuntu-latest with privileged runner for proper DinD
Some checks failed
Build .deb Package / build-and-package (push) Failing after 46s
- Change runs-on back to ubuntu-latest (maps to docker://ubuntu:24.04)
- Remove container: directive (label already specifies image)
- Remove sudo (running as root in Ubuntu container)
- Always install Rust (no caching between runs yet)
2026-04-24 01:50:08 +00:00
dd40a26b01 ci: Use host runner to avoid Docker-in-Docker issues
Some checks failed
Build .deb Package / build-and-package (push) Failing after 0s
- Change runs-on from ubuntu-latest to linux (maps to linux:host)
- Remove container: directive that caused SIGKILL on sibling containers
- Run directly on LXC host which is already Ubuntu
- Add sudo for apt-get commands on host
- Check for existing cargo before installing Rust
2026-04-24 01:49:10 +00:00
ffd8c131f6 ci: Remove all GitHub action dependencies from workflow
Some checks failed
Build .deb Package / build-and-package (push) Failing after 45s
- Replace actions/checkout with git clone using GITHUB_SERVER_URL
- Remove actions/cache (no cross-run caching for now)
- Consolidate into single job (no artifact passing needed)
- Remove actions/upload-artifact and actions/download-artifact
- Pure shell steps only - no cloning from github.com needed
2026-04-24 01:44:21 +00:00
c31fc0e6e0 feat: Add Gitea Actions CI/CD pipeline for automated .deb builds
Some checks failed
Build .deb Package / build-backend (push) Has been cancelled
Build .deb Package / build-frontend (push) Has been cancelled
Build .deb Package / build-deb (push) Has been cancelled
- .gitea/workflows/build.yml: 3-job pipeline (backend, frontend, package)
- Builds on Ubuntu 24.04 container for correct glibc
- Tags v* trigger release + .deb upload to Gitea Releases
- Master pushes produce dev builds as artifacts
- tasks/lessons.md: CI/CD-first lesson captured
2026-04-24 01:12:34 +00:00