Compare commits
base: sarman:a365cba30e4de647572ab8e16da217cf6733acdf
sarman:master
sarman:v0.2.66
sarman:v0.2.65
sarman:v0.2.64
sarman:v0.2.63
sarman:v0.2.62
sarman:v0.2.61
sarman:v0.2.60
sarman:v0.2.59
sarman:v0.2.58
sarman:v0.2.57
sarman:v0.2.56
sarman:v0.2.55
sarman:v0.2.54
sarman:v0.2.53
sarman:v0.2.52
sarman:v0.2.51
sarman:v0.2.50
sarman:v0.2.49
sarman:v0.2.48
sarman:v0.2.47
sarman:v0.2.46
sarman:v0.2.45
sarman:v0.2.44
sarman:v0.2.43
sarman:v0.2.42
sarman:v0.2.41
sarman:v0.2.40
sarman:v0.2.37
sarman:v0.2.36
sarman:v0.2.35
sarman:v0.2.34
sarman:v0.2.33
sarman:v0.2.32
sarman:v0.2.31
sarman:v0.2.30
sarman:v0.2.29
sarman:v0.2.28
sarman:v0.2.27
sarman:v0.2.26
sarman:v0.2.25
sarman:v0.2.24
sarman:v0.2.23
sarman:v0.2.22
sarman:v0.2.21
sarman:v0.2.20
sarman:v0.2.19
sarman:v0.2.18
sarman:v0.2.17
sarman:v0.2.16
sarman:v0.2.15
sarman:v0.2.14
sarman:v0.2.13
sarman:v0.2.12
sarman:v0.2.11
sarman:v0.2.10
sarman:v0.2.9
sarman:v0.2.8
sarman:v0.2.7
sarman:v0.2.6
sarman:v0.2.5
sarman:v0.2.4
sarman:v0.2.3
sarman:v0.2.2
sarman:v0.2.1
sarman:v0.1.0
sarman:v0.1.22
..
compare: sarman:30d26ed0c16d6df4d41a7a922cc52d9382435f35
sarman:master
sarman:v0.2.66
sarman:v0.2.65
sarman:v0.2.64
sarman:v0.2.63
sarman:v0.2.62
sarman:v0.2.61
sarman:v0.2.60
sarman:v0.2.59
sarman:v0.2.58
sarman:v0.2.57
sarman:v0.2.56
sarman:v0.2.55
sarman:v0.2.54
sarman:v0.2.53
sarman:v0.2.52
sarman:v0.2.51
sarman:v0.2.50
sarman:v0.2.49
sarman:v0.2.48
sarman:v0.2.47
sarman:v0.2.46
sarman:v0.2.45
sarman:v0.2.44
sarman:v0.2.43
sarman:v0.2.42
sarman:v0.2.41
sarman:v0.2.40
sarman:v0.2.37
sarman:v0.2.36
sarman:v0.2.35
sarman:v0.2.34
sarman:v0.2.33
sarman:v0.2.32
sarman:v0.2.31
sarman:v0.2.30
sarman:v0.2.29
sarman:v0.2.28
sarman:v0.2.27
sarman:v0.2.26
sarman:v0.2.25
sarman:v0.2.24
sarman:v0.2.23
sarman:v0.2.22
sarman:v0.2.21
sarman:v0.2.20
sarman:v0.2.19
sarman:v0.2.18
sarman:v0.2.17
sarman:v0.2.16
sarman:v0.2.15
sarman:v0.2.14
sarman:v0.2.13
sarman:v0.2.12
sarman:v0.2.11
sarman:v0.2.10
sarman:v0.2.9
sarman:v0.2.8
sarman:v0.2.7
sarman:v0.2.6
sarman:v0.2.5
sarman:v0.2.4
sarman:v0.2.3
sarman:v0.2.2
sarman:v0.2.1
sarman:v0.1.0
sarman:v0.1.22
7 Commits
a365cba30e
...
30d26ed0c1
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
30d26ed0c1 |
fix(ci): address second AI review — || true, ca-certs, cache@v4, key suffixes
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 2m35s
Test / frontend-tests (pull_request) Successful in 2m39s
PR Review Automation / review (pull_request) Successful in 2m49s
Test / rust-clippy (pull_request) Successful in 4m7s
Test / rust-fmt-check (pull_request) Successful in 13s
Test / rust-tests (pull_request) Successful in 3m37s
Dockerfiles: - Remove || true from rustup component add in all three Linux images; rust:1.88-slim default profile already includes both components so the command is a clean no-op, not a failure risk — silencing errors served no purpose and only hid potential toolchain issues - Add ca-certificates explicitly to Dockerfile.linux-amd64 and Dockerfile.windows-cross (rust:1.88-slim includes it, but being explicit is consistent with the arm64 fix and future-proofs against base image changes) Workflows: - Upgrade actions/cache@v3 → @v4 across test.yml and auto-tag.yml (v3 deprecated; v4 has parallel uploads and better large-cache support) - Add linux-amd64 suffix to cargo cache keys in test.yml Rust jobs and auto-tag.yml build-linux-amd64 job; all four jobs target the same architecture and now share a cache, benefiting from cross-job hits (registry cache is source tarballs, not compiled artifacts — no pollution risk between targets) Not changed: - alpine:latest + docker-cli in build-images.yml is correct; the reviewer confused DinD with socket passthrough — docker:24-cli also has no daemon, both use the host socket; the builds already proved alpine works - curl|bash for rustup is the official install method; rustup.rs publishes no checksums for the installer script itself |
||
|
|
397cef383d |
fix(ci): resolve test.yml failures — Cargo.lock, updated test assertions
All checks were successful
Test / rust-fmt-check (pull_request) Successful in 11s
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m16s
PR Review Automation / review (pull_request) Successful in 3m29s
Test / rust-clippy (pull_request) Successful in 4m2s
Test / rust-tests (pull_request) Successful in 5m21s
Cargo.lock: - Commit the pre-existing version bump (0.1.0 → 0.2.50) so cargo --locked does not fail in CI; Cargo.toml already at 0.2.50 releaseWorkflowCrossPlatformArtifacts.test.ts: - Update test that previously checked for ubuntu:22.04 / ports mirror inline in auto-tag.yml; that setup moved to the pre-baked trcaa-linux-arm64 image so the test now verifies the image reference and cross-compile env vars instead ciDockerBuilders.test.ts: - Update test that checked for docker:24-cli; changed to alpine:latest + docker-cli to avoid act_runner v0.3.1 duplicate socket mount bug; negative assertion on docker:24-cli retained |
||
|
|
84dd6d57c3 |
fix(docker): add ca-certificates to arm64 base image step 1
Some checks failed
Test / rust-fmt-check (pull_request) Successful in 11s
Test / frontend-typecheck (pull_request) Successful in 1m29s
PR Review Automation / review (pull_request) Successful in 3m49s
Test / rust-tests (pull_request) Failing after 14s
Test / rust-clippy (pull_request) Failing after 18s
Test / frontend-tests (pull_request) Failing after 1m12s
ubuntu:22.04 minimal does not guarantee ca-certificates is present before the multiarch apt operations in Step 2. curl in Step 3 then fails with error 77 (CURLE_SSL_CACERT_BADFILE) when fetching the nodesource setup script over HTTPS. |
||
|
|
7323c93463 |
docs(docker): expand rebuild trigger comments to include OpenSSL and Tauri CLI
Some checks failed
Test / rust-fmt-check (pull_request) Failing after 0s
Test / rust-clippy (pull_request) Failing after 0s
Test / rust-tests (pull_request) Failing after 0s
Test / frontend-tests (pull_request) Failing after 1m19s
Test / frontend-typecheck (pull_request) Successful in 1m26s
PR Review Automation / review (pull_request) Successful in 2m55s
|
||
|
|
1d0f420042 |
fix(ci): replace docker:24-cli with alpine + docker-cli in build-images
Some checks failed
Test / rust-clippy (pull_request) Failing after 1s
Test / frontend-typecheck (pull_request) Successful in 1m29s
Test / rust-tests (pull_request) Failing after 1s
Test / frontend-tests (pull_request) Failing after 1m21s
PR Review Automation / review (pull_request) Successful in 3m55s
Test / rust-fmt-check (pull_request) Failing after 1s
act_runner v0.3.1 has special-case handling for images named docker:*: it automatically adds /var/run/docker.sock to the container's bind mounts. The runner's own global config already mounts the socket, so the two entries collide and the container fails to start with "Duplicate mount point: /var/run/docker.sock". Fix: use alpine:latest (no special handling) and install docker-cli via apk alongside git in each Checkout step. The docker socket is still available via the runner's global bind — we just stop triggering the duplicate. |
||
|
|
f59559327e |
fix(ci): address AI review — rustup idempotency and cargo --locked
Some checks failed
Test / rust-fmt-check (pull_request) Failing after 0s
PR Review Automation / review (pull_request) Successful in 4m19s
Test / rust-clippy (pull_request) Failing after 2s
Test / frontend-typecheck (pull_request) Successful in 1m45s
Test / rust-tests (pull_request) Failing after 1s
Test / frontend-tests (pull_request) Failing after 1m35s
Dockerfiles: - Merge rustup target add and component add into one chained RUN with || true guard, making it safe if rustfmt/clippy are already present in the base image's default toolchain profile (rust:1.88-slim default profile includes both; the guard is belt-and-suspenders) test.yml: - Add --locked to cargo clippy and cargo test to enforce Cargo.lock during CI, preventing silent dependency upgrades Not addressed (accepted/out of scope): - git in images: already installed in all three Dockerfiles (lines 19, 13, 15 respectively) — reviewer finding was incorrect - HTTP registry: accepted risk for air-gapped self-hosted infrastructure - Image signing (Cosign): no infrastructure in place yet - Hardcoded registry IP: consistent with project-wide pattern |
||
|
|
f1461a0d7e |
perf(ci): use pre-baked images and add cargo/npm caching
Some checks failed
Test / rust-fmt-check (pull_request) Failing after 1s
Test / frontend-typecheck (pull_request) Successful in 2m47s
Test / rust-clippy (pull_request) Failing after 1s
Test / rust-tests (pull_request) Failing after 0s
PR Review Automation / review (pull_request) Successful in 3m25s
Test / frontend-tests (pull_request) Failing after 1m33s
Switch all test and release build jobs from raw base images to the pre-baked images already defined in .docker/ and pushed to the local Gitea registry. Add actions/cache@v3 for Cargo registry and npm to eliminate redundant downloads on subsequent runs. Changes: - Dockerfile.linux-amd64/arm64: bake in rustfmt and clippy components - test.yml: rust jobs → trcaa-linux-amd64:rust1.88-node22; drop inline apt-get and rustup component-add steps; add cargo cache - test.yml: frontend jobs → add npm cache - auto-tag.yml: build-linux-amd64 → trcaa-linux-amd64; drop Install dependencies step and rustup target add - auto-tag.yml: build-windows-amd64 → trcaa-windows-cross; drop Install dependencies step and rustup target add - auto-tag.yml: build-linux-arm64 → trcaa-linux-arm64 (ubuntu:22.04-based); drop ~40-line Install dependencies step, . "$HOME/.cargo/env", and rustup target add (all pre-baked in image ENV PATH) - All build jobs: add cargo and npm cache steps - docs/wiki/CICD-Pipeline.md: document pre-baked images, cache keys, and insecure-registries daemon prerequisite Expected savings: ~70% faster PR test suite (~1.5 min vs ~5 min), ~72% faster release builds (~7 min vs ~25 min) after cache warms up. NOTE: Trigger build-images.yml via workflow_dispatch before merging to ensure images contain rustfmt/clippy before workflow changes land. |