Commit Graph

18 Commits

Author SHA1 Message Date
Shaun Arman
952cf4fe27 fix: install jq in Linux/Windows build containers
Some checks failed
Test / rust-tests (push) Waiting to run
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Auto Tag / auto-tag (push) Successful in 5s
Test / rust-fmt-check (push) Successful in 2m3s
Test / rust-clippy (push) Has been cancelled
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Release / build-macos-arm64 (push) Failing after 5m24s
Release / build-linux-amd64 (push) Has been cancelled
Add jq package to apt-get install commands for:
- build-linux-amd64
- build-windows-amd64
- build-linux-arm64

This fixes upload failures where jq was not available to parse
the release API JSON response.

Tested:
- YAML syntax validation ✓
- jq command parsing ✓
- Error handling logic ✓

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-03 12:16:36 -05:00
Shaun Arman
905487be5b fix: improve release artifact upload error handling
Some checks failed
Auto Tag / auto-tag (push) Successful in 4s
Test / rust-fmt-check (push) Successful in 2m9s
Release / build-macos-arm64 (push) Successful in 5m41s
Test / rust-clippy (push) Successful in 17m30s
Release / build-linux-arm64 (push) Failing after 21m46s
Test / rust-tests (push) Successful in 12m47s
Test / frontend-typecheck (push) Successful in 1m27s
Test / frontend-tests (push) Successful in 1m29s
Release / build-linux-amd64 (push) Failing after 20m6s
Release / build-windows-amd64 (push) Failing after 14m15s
- Use jq instead of grep for JSON parsing
- Add explicit error checking for RELEASE_ID
- Add informative logging for debugging upload failures
- Fail fast if release ID cannot be retrieved

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-03 11:01:02 -05:00
Shaun Arman
d6117034ee fix: ARM64 build native compilation instead of cross-compilation
Some checks failed
Auto Tag / auto-tag (push) Successful in 6s
Test / rust-fmt-check (push) Successful in 2m8s
Test / rust-tests (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / frontend-tests (push) Has been cancelled
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Release / build-macos-arm64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
The linux-arm64 job runs on a native ARM64 runner, so cross-compilation
setup is not needed. Removed dpkg --add-architecture, cross-compiler,
and architecture-specific package suffixes. This fixes "held broken
packages" error during dependency installation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-03 10:05:55 -05:00
Shaun Arman
b356eef44f fix: remove Woodpecker CI and fix Gitea Actions ARM64 build
Some checks failed
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Auto Tag / auto-tag (push) Successful in 5s
Test / rust-fmt-check (push) Successful in 2m11s
Release / build-linux-arm64 (push) Failing after 2m15s
Release / build-macos-arm64 (push) Successful in 5m25s
Test / rust-clippy (push) Successful in 12m10s
Test / rust-tests (push) Has been cancelled
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
- Remove .woodpecker/ directory entirely (not in use)
- Fix ARM64 build in .gitea/workflows/release.yml:
  - Remove --platform flag (Docker version too old)
  - Use cross-compilation instead (dpkg multiarch + gcc-aarch64-linux-gnu)
  - Set PKG_CONFIG environment variables for ARM64 libraries
  - Set CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER

This matches the working cross-compilation approach from commit d489338b.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-03 08:10:29 -05:00
Shaun Arman
03cc9914ad fix: domainPrompts closing brace too early; arm64 use native platform image
Some checks failed
Auto Tag / auto-tag (push) Successful in 4s
Release / build-linux-arm64 (push) Failing after 0s
Test / rust-fmt-check (push) Successful in 1m4s
Release / build-macos-arm64 (push) Successful in 5m26s
Test / rust-clippy (push) Successful in 7m41s
Test / rust-tests (push) Successful in 8m13s
Test / frontend-typecheck (push) Successful in 1m28s
Test / frontend-tests (push) Successful in 1m12s
Release / build-linux-amd64 (push) Successful in 16m13s
Release / build-windows-amd64 (push) Successful in 13m30s
- domainPrompts.ts: closing }; was inside the Record object after 'automation',
  leaving hpe_infra/dell_hardware/identity orphaned outside the object — caused
  3 TS1005/TS1109 errors and broke the macOS and all frontend builds
- release.yml: replace multiarch cross-compilation (broken due to WebKit arm64
  package conflicts) with --platform linux/arm64 container option so QEMU runs
  a native ARM64 image directly — no cross-compilation, no package conflicts
2026-03-31 19:36:07 -05:00
Shaun Arman
d489338bc4 fix: arm64 linux cross-compilation — add multiarch and pkg-config env vars
Some checks failed
Auto Tag / auto-tag (push) Successful in 3s
Release / build-linux-arm64 (push) Failing after 1m8s
Test / rust-fmt-check (push) Successful in 1m8s
Release / build-macos-arm64 (push) Successful in 4m27s
Test / rust-clippy (push) Successful in 7m15s
Test / rust-tests (push) Successful in 8m4s
Test / frontend-typecheck (push) Successful in 1m29s
Test / frontend-tests (push) Successful in 1m18s
Release / build-linux-amd64 (push) Successful in 16m23s
Release / build-windows-amd64 (push) Successful in 13m2s
The linux-arm64 runner runs an x86_64 Docker container so cross-compilation
requires the ARM64 sysroot via dpkg --add-architecture arm64, gcc-aarch64-linux-gnu,
and arm64 variants of all system libraries. PKG_CONFIG env vars point to the
aarch64 library paths so Tauri can find webkit/gtk/etc at compile time.
2026-03-31 11:52:10 -05:00
Shaun Arman
790f9520bd fix: dropdown text invisible on macOS + correct codesign order for DMG
Some checks failed
Auto Tag / auto-tag (push) Successful in 4s
Test / rust-fmt-check (push) Successful in 57s
Release / build-macos-arm64 (push) Successful in 2m43s
Test / rust-clippy (push) Successful in 7m17s
Test / rust-tests (push) Successful in 8m10s
Test / frontend-typecheck (push) Successful in 1m25s
Test / frontend-tests (push) Successful in 1m20s
Release / build-linux-amd64 (push) Successful in 16m2s
Release / build-windows-amd64 (push) Successful in 13m17s
Release / build-linux-arm64 (push) Has been cancelled
- globals.css: add button reset with -webkit-appearance: none and
  -webkit-text-fill-color: currentColor so SelectTrigger text is visible
  on macOS WebKit without breaking Tailwind text-* variant overrides
- release.yml: build .app only first, ad-hoc sign it, then create DMG
  via hdiutil so the signed .app is inside the DMG (previously codesign
  ran after Tauri already sealed the unsigned .app into the DMG)
2026-03-30 16:43:00 -05:00
Shaun Arman
720c7511cd feat: auto-increment patch tag on every merge to master
Some checks failed
Auto Tag / auto-tag (push) Waiting to run
Test / rust-fmt-check (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / frontend-tests (push) Has been cancelled
Creates a new vX.Y.Z tag on each push to master using the Gitea API.
The new tag triggers release.yml to build and publish installers for
all platforms automatically.
2026-03-30 16:32:55 -05:00
Shaun Arman
16d537c4af fix: button text visibility, toggle contrast, create_issue IPC, ad-hoc codesign
Some checks failed
Test / rust-fmt-check (push) Successful in 1m5s
Test / rust-tests (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / frontend-tests (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-fmt-check (pull_request) Successful in 1m4s
Test / rust-clippy (pull_request) Successful in 7m8s
Test / rust-tests (pull_request) Successful in 8m21s
Test / frontend-typecheck (pull_request) Successful in 1m29s
Test / frontend-tests (pull_request) Successful in 1m15s
- globals.css: remove button from WebKit -webkit-text-fill-color override that
  was causing button text to be invisible (text color matched background in dark mode)
- Security.tsx: toggle enabled state uses bg-blue-500 instead of bg-primary;
  in dark mode --primary is near-white making the white knob invisible
- tauriCommands.ts: fix createIssueCmd to pass flat args (not wrapped in newIssue),
  map domain->category, and return Issue instead of IssueDetail
- NewIssue/index.tsx: update call site to use Issue return type directly
- release.yml: add ad-hoc codesign step for macOS .app so Gatekeeper shows
  "unidentified developer" instead of "damaged" error
2026-03-30 15:52:43 -05:00
Shaun Arman
793ab7d582 feat: add macOS arm64 act_runner and release build job
Some checks failed
Test / rust-fmt-check (push) Successful in 1m5s
Release / build-macos-arm64 (push) Successful in 4m13s
Test / rust-clippy (push) Successful in 7m26s
Test / rust-tests (push) Successful in 7m58s
Test / frontend-typecheck (push) Successful in 1m30s
Test / frontend-tests (push) Successful in 1m16s
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
- Register Apple Silicon Mac as act_runner with label macos-arm64
- Add build-macos-arm64 job to Gitea Actions release pipeline
- Produces unsigned .dmg artifact for aarch64-apple-darwin
- Update CICD-Pipeline.md to reflect Gitea Actions agents
2026-03-30 15:18:38 -05:00
Shaun Arman
73f9c3419d ci: restrict test.yml to branch pushes only (not tags)
Some checks failed
Test / rust-clippy (push) Successful in 7m32s
Test / rust-fmt-check (push) Failing after 13m17s
Test / rust-tests (push) Successful in 8m5s
Test / frontend-typecheck (push) Successful in 1m37s
Test / frontend-tests (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
Release / build-windows-amd64 (push) Has been cancelled
2026-03-29 18:56:00 -05:00
Shaun Arman
1271f51d1a fix: use $GITHUB_REF_NAME env var instead of ${{ github.ref_name }} expression
Some checks failed
Release / build-windows-amd64 (push) Waiting to run
Release / build-linux-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Test / frontend-typecheck (push) Failing after 14m53s
Test / frontend-tests (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Gitea 1.22 expression evaluator rewrites github.ref_name to
format('{0}', github.ref_name) which produces '%!t(string=v0.1.0)'
instead of 'v0.1.0'. Use the pre-set shell env var directly.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:50:39 -05:00
Shaun Arman
661898ba91 ci: remove workflow_dispatch inputs (Gitea 1.22 rejects unknown on type)
Some checks failed
Release / build-windows-amd64 (push) Waiting to run
Test / rust-fmt-check (push) Waiting to run
Test / rust-tests (push) Successful in 7m19s
Test / frontend-typecheck (push) Successful in 1m26s
Test / frontend-tests (push) Successful in 1m19s
Release / build-linux-arm64 (push) Failing after 14m12s
Test / rust-clippy (push) Failing after 17m54s
Release / build-linux-amd64 (push) Has been cancelled
2026-03-29 18:25:03 -05:00
Shaun Arman
8f18cfa3be ci: restore quoted tag pattern 'v*' for Gitea 1.22 compatibility
Some checks failed
Test / rust-fmt-check (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / frontend-tests (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
2026-03-29 18:19:47 -05:00
Shaun Arman
b817d2bed4 ci: add workflow_dispatch trigger and RELEASE_TAG env var
Some checks are pending
Test / rust-fmt-check (push) Waiting to run
Test / rust-clippy (push) Waiting to run
Test / rust-tests (push) Waiting to run
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:05:25 -05:00
Shaun Arman
02787361c8 ci: fix apt-get update missing before git install in checkout steps
Some checks failed
Test / rust-fmt-check (push) Successful in 33s
Test / rust-clippy (push) Failing after 2m35s
Test / rust-tests (push) Successful in 3m23s
Test / frontend-tests (push) Successful in 46s
Test / frontend-typecheck (push) Failing after 2m14s
rust:1.88-slim has an empty package cache. apt-get install git
was failing with 'Unable to locate package git'.
Add apt-get update -qq before every apt-get install in checkout steps.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 16:07:17 -05:00
Shaun Arman
29b6fb2170 ci: fix checkout — replace actions/checkout@v4 with direct git clone
Some checks failed
Test / rust-fmt-check (push) Failing after 2s
Test / rust-clippy (push) Failing after 2s
Test / frontend-typecheck (push) Has been cancelled
Test / rust-tests (push) Failing after 2s
Test / frontend-tests (push) Failing after 3s
actions/checkout@v4 requires Node.js which is not in rust:1.88-slim.
Replace with direct git init+fetch+checkout using the Gitea instance URL.
Also fix release.yml: each build job creates the release (idempotent)
and uploads its own artifacts inline via Gitea API.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 15:52:53 -05:00
Shaun Arman
9880afa117 ci: migrate from Woodpecker to Gitea Actions
Some checks are pending
Test / rust-fmt-check (push) Waiting to run
Test / rust-clippy (push) Waiting to run
Test / rust-tests (push) Waiting to run
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Replaces .woodpecker/*.yml with Gitea Actions workflows:

- .gitea/workflows/test.yml: triggers on push/PR, runs 5 jobs
  (rust-fmt-check, rust-clippy, rust-tests, frontend-typecheck,
  frontend-tests) using rust:1.88-slim and node:22-alpine containers.

- .gitea/workflows/release.yml: triggers on v* tags, 4 jobs:
  - build-linux-amd64  (linux-amd64 runner, cross-compile x86_64)
  - build-windows-amd64 (linux-amd64 runner, mingw cross-compile)
  - build-linux-arm64  (linux-arm64 runner, native aarch64)
  - upload-release     (runs after all 3 build jobs, uses
    actions/download-artifact + Gitea release API)

Runners registered:
  - amd64-docker-runner (Docker, 172.0.0.29, labels: ubuntu-latest linux-amd64)
  - arm64-native-runner (systemd, local arm64 machine, label: linux-arm64)

Secrets: RELEASE_TOKEN set in repo Actions secrets.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 14:50:48 -05:00