Commit Graph

244 Commits

Author SHA1 Message Date
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
032341b96d docs: update README, wiki, and UI version to v0.1.1
Some checks failed
Test / rust-fmt-check (push) Successful in 1m3s
Release / build-linux-arm64 (push) Successful in 6m24s
Test / rust-clippy (push) Successful in 7m26s
Test / rust-tests (push) Successful in 8m53s
Test / frontend-typecheck (push) Successful in 1m28s
Test / frontend-tests (push) Successful in 1m15s
Release / build-linux-amd64 (push) Successful in 16m43s
Release / build-windows-amd64 (push) Failing after 13m46s
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 21:27:52 -05:00
Shaun Arman
66de8f71cb fix: set SQLCipher cipher_page_size BEFORE first database access
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
Previously cipher_page_size was set AFTER the verification SELECT,
making it a no-op (SQLCipher locks page size on first access). This
caused two bugs:

1. Databases were created with the default page size regardless of the
   setting, then flushed on close using misaligned 4KB mmap pages on
   16KB kernel → corrupted file → SQLITE_NOTADB on reopen.

2. Reopening an existing DB used default (potentially wrong) page size
   for the initial read → decryption failure.

Fix: batch all cipher settings (key, page_size, kdf_iter, algorithms)
into a single execute_batch call BEFORE the first SELECT. This ensures:
- New databases are created with 16KB pages (aligned to Asahi kernel)
- Existing 16KB-page databases are reopened with the correct page size
- Close/flush operations use properly aligned mmap → no corruption

Note: existing 4KB-page databases (from v0.1.0) remain incompatible
and must be deleted once on upgrade.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 21:25:43 -05:00
Shaun Arman
9c3f924f27 fix: prevent WebKit/GTK system theme from overriding input text colors on Linux
Some checks failed
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Test / rust-fmt-check (push) Successful in 1m8s
Test / rust-clippy (push) Successful in 7m37s
Test / rust-tests (push) Has been cancelled
Release / build-linux-amd64 (push) Failing after 30s
Release / build-linux-arm64 (push) Waiting to run
Release / build-windows-amd64 (push) Has been cancelled
On Linux, WebKit inherits GTK system text colors for form controls,
causing dark-on-dark text in dark mode. Explicitly set color and
-webkit-text-fill-color on inputs/textareas/buttons, and add
color-scheme: dark to .dark so WebKit uses the correct system UI
color scheme.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 21:14:28 -05:00
Shaun Arman
5d29f7fb61 chore: bump version to 0.1.1
Some checks failed
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Test / rust-fmt-check (push) Failing after 4s
Test / rust-clippy (push) Successful in 7m56s
Test / rust-tests (push) Has been cancelled
Release / build-linux-amd64 (push) Failing after 1m0s
Release / build-linux-arm64 (push) Waiting to run
Release / build-windows-amd64 (push) Has been cancelled
2026-03-29 21:01:08 -05:00
Shaun Arman
1e5284d4e0 fix: remove unused tauri-plugin-updater + SQLCipher 16KB page size
Some checks failed
Test / rust-fmt-check (push) Successful in 1m6s
Test / rust-clippy (push) Successful in 7m13s
Test / rust-tests (push) Successful in 9m3s
Test / frontend-typecheck (push) Successful in 3m29s
Test / frontend-tests (push) Successful in 1m27s
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Two startup crashes on first-party Tauri plugin init:
- tauri-plugin-updater registered with no plugins.updater config → removed
- tauri-plugin-cli was already removed in a prior commit

SQLCipher page size fix:
- cipher_page_size 4096 → 16384
- 4KB SQLCipher pages cause malloc() failures on Linux kernels with
  16KB page size (Asahi Linux aarch64+16k, Apple Silicon)
- 16384 is a valid page size that works on both 4KB and 16KB page kernels
- New installs get a 16KB-page database; existing 4KB-page DBs must
  be deleted for the new page size to take effect

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:12:15 -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
bdfda49853 fix: remove unused tauri-plugin-cli causing startup crash
Some checks failed
Test / rust-fmt-check (push) Successful in 1m10s
Test / frontend-tests (push) Waiting to run
Test / rust-tests (push) Waiting to run
Test / frontend-typecheck (push) Waiting to run
Test / rust-clippy (push) Has been cancelled
tauri-plugin-cli was registered in lib.rs but tauri.conf.json had no
plugins.cli configuration, causing PluginInitialization panic at startup.
The CLI plugin is not needed for a GUI desktop app — removed.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:05:15 -05:00
Shaun Arman
80f2072af5 docs: update README and wiki for Gitea Actions migration
Some checks failed
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Test / rust-clippy (push) Successful in 7m28s
Test / rust-fmt-check (push) Failing after 11m39s
Test / rust-tests (push) Has been cancelled
Replace all Gogs/Woodpecker references with Gitea/Gitea Actions:

README.md:
- CI badge → Gitea Actions workflow badge
- CI/CD section: Woodpecker → Gitea Actions (amd64 + arm64 runners)
- Project structure: .woodpecker/ → .gitea/workflows/
- Releases: arm64 now native (not QEMU)
- Phase 11/12 status updated

docs/wiki/Home.md:
- CI badge, tech stack, phase status updated

docs/wiki/Troubleshooting.md:
- Remove Woodpecker-specific items (JWT webhooks, orphan containers,
  plugin-git switch failure, Gogs token quirks)
- Add Gitea Actions troubleshooting: container network, apt-get update,
  job skip on tags, RELEASE_TOKEN, act_runner CONFIG_FILE requirement

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:46:34 -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
a6b0a8de08 ci: final test run — arm64 runner labels fixed (linux-arm64 only)
Some checks failed
Test / rust-fmt-check (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
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 16:35:43 -05:00
Shaun Arman
d5d294e1cd ci: retrigger after amd64 runner config fix (CONFIG_FILE env var)
Some checks failed
Test / rust-fmt-check (push) Successful in 1m2s
Test / rust-clippy (push) Successful in 2m50s
Test / frontend-typecheck (push) Successful in 37s
Test / frontend-tests (push) Successful in 39s
Test / rust-tests (push) Has been cancelled
2026-03-29 16:26:40 -05:00
Shaun Arman
952f29540f ci: retrigger after runner capacity=1 fix
Some checks failed
Test / rust-clippy (push) Successful in -493005h17m44s
Test / rust-fmt-check (push) Waiting to run
Test / frontend-typecheck (push) Successful in 38s
Test / frontend-tests (push) Successful in 37s
Test / rust-tests (push) Failing after 2m35s
2026-03-29 16:17:40 -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
0577e136cd ci: retrigger after act_runner host network fix
Some checks failed
Test / rust-fmt-check (push) Failing after 1s
Test / rust-clippy (push) Failing after 2s
Test / rust-tests (push) Failing after 1s
Test / frontend-tests (push) Successful in 34s
Test / frontend-typecheck (push) Failing after 2m13s
2026-03-29 16:02:19 -05:00
Shaun Arman
a1df9bc669 ci: retrigger after making repo public
Some checks failed
Test / rust-fmt-check (push) Failing after 2s
Test / rust-clippy (push) Failing after 2s
Test / rust-tests (push) Failing after 1s
Test / frontend-tests (push) Successful in 35s
Test / frontend-typecheck (push) Failing after 2m14s
2026-03-29 15:55:04 -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
0b566d8e92 ci: retrigger test pipeline after act_runner network fix
Some checks failed
Test / rust-clippy (push) Failing after 3s
Test / rust-fmt-check (push) Failing after 4s
Test / rust-tests (push) Failing after 3s
Test / frontend-typecheck (push) Failing after 29s
Test / frontend-tests (push) Failing after 29s
2026-03-29 15:34:23 -05:00
Shaun Arman
3c39d2ff28 Merge branch 'feat/gitea-actions'
Some checks failed
Test / rust-fmt-check (push) Failing after 2s
Test / rust-clippy (push) Failing after 2s
Test / rust-tests (push) Failing after 2s
Test / frontend-typecheck (push) Failing after 32s
Test / frontend-tests (push) Failing after 37s
ci: migrate from Woodpecker to Gitea Actions

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 14:51:30 -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
Shaun Arman
9c0967735e Merge branch 'feat/woodpecker-2x-migration'
ci: migrate pipelines to Woodpecker 2.x + Gitea

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:31:12 -05:00
Shaun Arman
c7b66e0820 ci: migrate pipelines to Woodpecker 2.x + Gitea
- Convert pipeline: map format → steps: list format (Woodpecker 2.x)
- Add per-step labels for agent routing (platform: linux/amd64 / arm64)
- Add native build-linux-arm64 step (routes to local arm64 agent)
  - Arm64 step self-clones via host IP (isolated workspace per agent)
  - Arm64 step uploads artifacts inline to Gitea API
- Replace gogs_app → gitea_app in all clone/upload URLs
- Remove Woodpecker 0.15.4 per-step platform routing workaround note
- Update wiki: Gitea migration notes, new pipeline format docs, agent labels

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:28:49 -05:00
Shaun Arman
ac56851e4d docs: remove broken arm64 CI step, document Woodpecker 0.15.4 limitation
when: platform: is evaluated at compile time (server=amd64) and silently
drops the arm64 step. Per-step platform routing requires Woodpecker 2.x.
Document the make release-arm64 workaround for linux/arm64 builds.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:52:58 -05:00
Shaun Arman
f8eea02075 build: add Makefile release-arm64 target for local Docker-based arm64 build
Woodpecker 0.15.4 does not support per-step agent platform routing —
when: platform: is evaluated at compile time against the server and
drops the step entirely. Use 'make release-arm64 GOGS_TOKEN=<token>'
on the local aarch64 machine to build and upload arm64 artifacts.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:52:03 -05:00
Shaun Arman
22d3092b65 fix: use when: platform: for arm64 step routing (Woodpecker 0.15.4 compat)
Top-level platform: key conflicts with commands: in Woodpecker 0.15.4 YAML
parser — treated as a plugin attribute. Move to when: platform: condition
which is supported for agent platform routing in this version.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:49:41 -05:00
Shaun Arman
89cf06b802 Merge branch 'feat/release-arm64-native' of sarman/tftsr-devops_investigation into master 2026-03-29 12:47:30 -05:00
Shaun Arman
2c1094fdcb feat: add native linux/arm64 release build step
Install Woodpecker agent as systemd user service on local aarch64 machine
(Fedora Asahi 42). Add build-linux-arm64 step to release pipeline using
platform: linux/arm64 to route to the native arm64 agent. Update upload
step to include artifacts/linux-arm64/ in the release upload loop.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:44:43 -05:00
Shaun Arman
b1a74e66ee Merge branch 'fix/windows-export-ordinal' of sarman/tftsr-devops_investigation into master 2026-03-29 12:37:39 -05:00
Shaun Arman
2026bdb3da fix: suppress MinGW auto-export to resolve Windows DLL ordinal overflow
Add src-tauri/.cargo/config.toml with --exclude-all-symbols linker flag
for x86_64-pc-windows-gnu. MinGW auto-exports ~106k public Rust symbols
into the cdylib export table, exceeding the 65,535 PE ordinal limit.
The desktop binary links against rlib (static) so the cdylib export table
is unused. An empty export table is a valid DLL.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:33:24 -05:00
Shaun Arman
39dc65d91b Merge branch 'fix/app-icons' of sarman/tftsr-devops_investigation into master 2026-03-16 01:32:45 +00:00
Shaun Arman
8ccfdec72a fix: replace empty icon placeholder files with real app icons
Generated from icon.png (magnifying glass + bug on laptop — TFTSR debug theme):
- icon.ico: multi-size Windows ICO (16/32/48/64/128/256px) — fixes windres crash
- icon.icns: macOS ICNS (16/32/64/128/256/512px)
- 32x32.png, 128x128.png, 128x128@2x.png: regenerated from source

Fixes: x86_64-w64-mingw32-windres 'unexpected EOF' on Windows cross-compile build
2026-03-15 20:31:52 -05:00
Shaun Arman
aa24b9e107 Merge branch 'fix/add-make-to-windows-build' of sarman/tftsr-devops_investigation into master 2026-03-16 00:56:32 +00:00
Shaun Arman
73584e357b fix: add make to windows build step (required by vendored OpenSSL) 2026-03-15 19:53:19 -05:00
Shaun Arman
48b63086a6 Merge branch 'fix/sqlcipher-vendored-openssl' of sarman/tftsr-devops_investigation into master 2026-03-16 00:19:21 +00:00
Shaun Arman
1f062948fc fix: use bundled-sqlcipher-vendored-openssl for portable Windows cross-compilation
SQLCipher requires OpenSSL when cross-compiling for Windows with mingw-w64.
bundled-sqlcipher-vendored-openssl compiles OpenSSL from source — no system
OpenSSL needed for any target. Add perl to CI steps (required by OpenSSL build).
2026-03-15 19:17:36 -05:00
Shaun Arman
2ab6292f30 Merge branch 'docs/update-readme-wiki' of sarman/tftsr-devops_investigation into master 2026-03-15 23:57:00 +00:00
Shaun Arman
250bd96285 docs: update README and wiki for v0.1.0-alpha release
- README: add CI badge, Releases table, fix Rust prereq (1.88+), update CI/CD section,
  update implementation status (Phase 11+12 complete), add apt-get system deps,
  fix repo clone URL to gogs.tftsr.com
- Home.md: add CI badge, Releases table, update project status
- CICD-Pipeline.md: add agents table, Windows cross-compile docs, artifact path note,
  upload network fix, branch protection section, switching test/release config,
  updated known issues with new CI learnings
- Troubleshooting.md: add 6 new CI troubleshooting entries (stuck builds, artifact
  upload failures, CI=woodpecker, git switch tag refs, release artifacts path)
- Development-Setup.md: update test count to 64/64 Rust tests
2026-03-15 18:55:56 -05:00
Shaun Arman
f2d9dff693 Merge branch 'feat/multiplatform-release' of sarman/tftsr-devops_investigation into master 2026-03-15 23:49:03 +00:00
Shaun Arman
b042182ee2 feat: add Windows amd64 cross-compile to release pipeline; add arm64 QEMU agent
- build-windows-amd64: cross-compile with mingw-w64 for x86_64-pc-windows-gnu
- upload: uses gogs_default network + uploads both linux and windows artifacts
- arm64: QEMU agent deployed at woodpecker_agent_arm64 (linux/arm64 platform)
- artifacts/ excluded from git via .gitignore
2026-03-15 18:47:42 -05:00
Shaun Arman
179add7aac Merge branch 'fix/upload-network' of sarman/tftsr-devops_investigation into master 2026-03-15 23:43:04 +00:00
Shaun Arman
a004d8b3ef fix: upload step needs gogs_default network to reach Gogs API (host firewall blocks default bridge) 2026-03-15 18:41:54 -05:00
Shaun Arman
0e47ccd2b9 Merge branch 'fix/artifacts-workspace' of sarman/tftsr-devops_investigation into master 2026-03-15 23:13:27 +00:00
Shaun Arman
7965a7bec6 fix: write artifacts to workspace (shared between steps), not /artifacts/ 2026-03-15 18:08:09 -05:00
Shaun Arman
c556bbaaf8 Merge branch 'fix/drop-arm64-cross-compile' of sarman/tftsr-devops_investigation into master 2026-03-15 22:48:08 +00:00
Shaun Arman
d66934cdf0 fix: remove arm64 from release pipeline — webkit2gtk multiarch conflict on x86_64 host
Cross-compiling webkit2gtk-4.1-dev for arm64 from x86_64 fails due to
held broken packages. arm64 requires native arm64 CI runner.
amd64 release artifacts still upload correctly.
2026-03-15 17:46:54 -05:00
Shaun Arman
076cebb326 Merge branch 'fix/arm64-cross-compile' of sarman/tftsr-devops_investigation into master 2026-03-15 22:29:50 +00:00