datadunia
08b152a370
feat(ci): skip build if no source changes (cache build output by hash)
2026-06-18 09:09:51 +07:00
datadunia
6f22aad1ad
ci: restructure pipeline - test only for test tags, build only for dev/beta, build+docs for release
2026-06-18 09:01:36 +07:00
datadunia
2d366c4619
fix(ci): use setup-go built-in cache, remove go-hashfiles and actions/cache from Go builds
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 3m34s
CI / build-device-agent (push) Successful in 2m20s
CI / build-dashboard (push) Successful in 1m34s
CI / build-docs (push) Successful in 51s
CI / release (push) Successful in 26s
2026-06-18 02:23:45 +07:00
datadunia
9d6c2abb9f
fix(ci): cache Go SDK + disable setup-go built-in cache
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Has been cancelled
CI / build-dashboard (push) Has been cancelled
CI / build-docs (push) Has been cancelled
CI / release (push) Has been cancelled
CI / build-server-core (push) Has been cancelled
2026-06-17 17:58:25 +07:00
datadunia
4c9e54aaa3
fix(ci): replace go-hashfiles with shell hash for dashboard (no Go installed)
CI / build-docs (push) Successful in 1m10s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 2m52s
CI / build-device-agent (push) Successful in 2m38s
CI / build-dashboard (push) Successful in 6m15s
CI / release (push) Successful in 32s
2026-06-17 15:07:21 +07:00
datadunia
290af48007
ci: add Gitea-compatible caching (RUNNER_TOOL_CACHE + actions/cache@v3 + go-hashfiles)
...
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 15m18s
CI / build-device-agent (push) Successful in 5m51s
CI / build-docs (push) Successful in 1m13s
CI / build-dashboard (push) Failing after 1m38s
CI / release (push) Has been skipped
Per Gitea tutorial: add RUNNER_TOOL_CACHE=/toolcache env, use actions/cache@v3
(not v4), and go-hashfiles instead of hashFiles() which is unsupported.
2026-06-17 14:23:51 +07:00
datadunia
9a2212d691
revert(ci): remove actions/cache@v4 - hangs on act_runner v0.6.1
...
CI / build-server-core (push) Successful in 5m41s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Successful in 2m11s
CI / build-dashboard (push) Successful in 1m11s
CI / build-docs (push) Successful in 1m9s
CI / release (push) Successful in 29s
actions/cache@v4 not compatible with self-hosted act_runner.
Builds complete in 3-5min without cache - acceptable.
2026-06-17 13:54:58 +07:00
datadunia
6f57540490
ci: add actions/cache@v4 for Go modules, Go build cache, and npm cache
...
CI / build-server-core (push) Has been cancelled
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Has been cancelled
CI / build-dashboard (push) Has been cancelled
CI / build-docs (push) Has been cancelled
CI / release (push) Has been cancelled
- server-core: Go module + build cache (keyed by go.sum)
- dashboard-ui: npm cache (keyed by package-lock.json)
- device-agent: Go module + build cache (keyed by go.sum)
First run populates cache, subsequent runs restore from cache.
2026-06-17 13:39:31 +07:00
datadunia
fc9afd1720
fix(ci): use always()!failure() so builds run when test jobs are skipped
...
CI / build-server-core (push) Successful in 3m13s
CI / release (push) Successful in 28s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Successful in 1m47s
CI / build-dashboard (push) Successful in 57s
CI / build-docs (push) Successful in 51s
Gitea Actions skips dependent jobs when ALL needed jobs are skipped,
unlike GitHub Actions. Adding always()!failure() ensures builds run
for dev/beta tags (tests skipped) while still blocking if tests fail.
2026-06-17 11:48:23 +07:00
datadunia
c23e0829cd
feat(ci): add draft/prerelease mapping, enforce tests before stable release
...
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
- release_call.yaml: add draft input, use draft+prerelease in JSON body
- ci.yml test jobs: run for test tags AND stable release tags
- ci.yml build jobs: add needs on test jobs (skipped jobs dont block)
- ci.yml release: draft=true for beta, prerelease=true for dev, plain for stable
2026-06-17 11:45:57 +07:00
datadunia
5fb815a3c1
fix(ci): move token+persist-credentials to test job checkout, insteadOf after checkout
...
CI / dashboard-test (push) Successful in 1m24s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
CI / server-core-test (push) Failing after 4m31s
CI / device-agent-test (push) Successful in 1m22s
Test jobs failed because actions/checkout@v4 erases global insteadOf
during 'Setting up auth for fetching submodules', replacing it with
SSH mappings that don't help with x-access-token auth.
Fix: Add token + persist-credentials to checkout (same pattern as
reusable build workflows that pass), and move insteadOf after checkout
as a safety net for subsequent git operations.
2026-06-17 10:56:27 +07:00
datadunia
2cfc7408a4
ci: add v*-dev* tag pattern to trigger builds
CI / build-server-core (push) Successful in 4m29s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Successful in 1m49s
CI / build-dashboard (push) Successful in 1m11s
CI / build-docs (push) Successful in 58s
CI / release (push) Successful in 27s
2026-06-10 15:01:34 +07:00
datadunia
8dd5834be2
ci: revert persist-credentials to true (runner now uses https://git.datadunia.com )
CI / release (push) Successful in 26s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 3m39s
CI / build-device-agent (push) Successful in 1m35s
CI / build-dashboard (push) Successful in 52s
CI / build-docs (push) Successful in 1m7s
2026-06-10 14:10:54 +07:00
datadunia
c0f18a41a1
ci: fix submodule auth + replace matrix build for device-agent
...
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 3m44s
CI / build-device-agent (push) Successful in 1m38s
CI / build-dashboard (push) Successful in 3m39s
CI / build-docs (push) Successful in 51s
CI / release (push) Successful in 46s
- persist-credentials: false on all workflows (prevent Gitea overwriting insteadOf URL)
- Replace matrix strategy in build_device_agent.yaml with sequential builds (act_runner v0.6.1 ParallelExecutor crash)
- Build all 3 platforms (linux/amd64, linux/arm64, windows/amd64) in single step
2026-06-10 11:04:48 +07:00
datadunia
96248d3d31
ci: downgrade upload/download-artifact v4 to v3
...
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Successful in 6m58s
CI / build-dashboard (push) Successful in 1m4s
CI / build-docs (push) Successful in 52s
CI / release (push) Has been cancelled
CI / build-device-agent (push) Has been cancelled
Gitea self-hosted 1.26.1 does not support @actions/artifact v2.0.0+
(upload-artifact@v4+, download-artifact@v4+). Use v3 instead.
2026-06-10 09:42:47 +07:00
datadunia
bfb6dcc42f
ci: skip tests for dev/beta/release, test-only for test tags
...
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-server-core (push) Failing after 4m46s
CI / build-dashboard (push) Failing after 1m17s
CI / build-docs (push) Failing after 1m5s
CI / release (push) Has been cancelled
CI / build-device-agent (push) Has been cancelled
- Test jobs: add if: contains(gitea.ref_name, 'test')
- Build jobs: remove needs dependency on tests
- dev/beta/release: build+release directly, no tests
- test tags: tests only, no build
2026-06-10 09:26:25 +07:00
datadunia
9470435704
ci: add secrets: inherit to build workflow calls
...
CI / server-core-test (push) Successful in 5m59s
CI / device-agent-test (push) Successful in 1m19s
CI / dashboard-test (push) Successful in 1m9s
CI / build-server-core (push) Failing after 4m44s
CI / build-device-agent (push) Failing after 2m0s
CI / build-docs (push) Has been cancelled
CI / release (push) Has been cancelled
CI / build-dashboard (push) Has been cancelled
Reusable workflows dont inherit secrets from caller by default.
secrets.BUILD_TOKEN was empty string, causing:
::error::Input required and not supplied: token
Added secrets: inherit to all 4 build workflow calls in ci.yml.
2026-06-10 09:21:50 +07:00
datadunia
c37d4a751c
ci: fix build workflows - remove defaults.run.working-directory
...
CI / build-server-core (push) Failing after 26s
CI / build-dashboard (push) Failing after 20s
CI / build-docs (push) Failing after 20s
CI / server-core-test (push) Successful in 5m33s
CI / device-agent-test (push) Successful in 1m22s
CI / dashboard-test (push) Successful in 1m5s
CI / build-device-agent (push) Failing after 20s
CI / release (push) Has been skipped
All 4 build jobs failed because defaults.run.working-directory
chdir'd into subdirs before checkout created them.
- Remove defaults.run.working-directory from all reusable workflows
- Add per-step working-directory to run steps that need it
- Auth config step runs from repo root (no working-directory)
2026-06-10 09:05:26 +07:00
datadunia
47ca075bc0
ci: remove env vars from server-core-test, update submodule
CI / server-core-test (push) Failing after 5m31s
CI / device-agent-test (push) Successful in 1m21s
CI / dashboard-test (push) Successful in 1m11s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 08:04:30 +07:00
datadunia
8938d842db
ci: skip nftables tests, add env vars for server-core
CI / server-core-test (push) Failing after 6m19s
CI / device-agent-test (push) Successful in 1m30s
CI / dashboard-test (push) Successful in 1m1s
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
2026-06-10 07:00:04 +07:00
datadunia
710cc6537e
ci: add swag init step before server-core test
CI / server-core-test (push) Failing after 5m46s
CI / device-agent-test (push) Successful in 1m29s
CI / dashboard-test (push) Successful in 1m27s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 06:41:40 +07:00
datadunia
224a84e856
ci: fix working-directory defaults breaking pre-checkout steps
CI / device-agent-test (push) Has been cancelled
CI / dashboard-test (push) Has been cancelled
CI / build-server-core (push) Has been cancelled
CI / build-device-agent (push) Has been cancelled
CI / build-dashboard (push) Has been cancelled
CI / build-docs (push) Has been cancelled
CI / release (push) Has been cancelled
CI / server-core-test (push) Has been cancelled
2026-06-10 05:08:26 +07:00
datadunia
43fd852b3e
ci: use git URL rewrite with token for submodule auth
2026-06-10 05:02:41 +07:00
datadunia
946334ffc7
ci: rewrite git.datadunia.com to 172.20.8.90:3000 for submodule auth
2026-06-10 04:56:18 +07:00
datadunia
5b5a4aa009
ci: add BUILD_TOKEN for submodule checkout authentication
CI / server-core-test (push) Failing after 18s
CI / device-agent-test (push) Failing after 14s
CI / dashboard-test (push) Failing after 15s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 04:26:22 +07:00
datadunia
56d70ed031
ci: test always runs, test tags skip build/release
CI / server-core-test (push) Failing after 24s
CI / device-agent-test (push) Failing after 20s
CI / dashboard-test (push) Failing after 23s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / build-docs (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 03:47:00 +07:00
datadunia
3133671c02
ci: test only for tags with 'test' in name
2026-06-10 03:45:01 +07:00
datadunia
5fa9f414b0
ci: trigger only on tags, remove push/PR triggers
CI / server-core-test (push) Failing after 4s
CI / device-agent-test (push) Failing after 4s
CI / dashboard-test (push) Failing after 4s
CI / build-docs (push) Failing after 9s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 03:42:28 +07:00
datadunia
c5364cf5ba
ci: unify workflows - split build per component, single tag-triggered pipeline
CI / server-core-test (push) Failing after 4s
CI / device-agent-test (push) Failing after 4s
CI / dashboard-test (push) Failing after 4s
CI / build-docs (push) Failing after 9s
CI / build-server-core (push) Has been skipped
CI / build-device-agent (push) Has been skipped
CI / build-dashboard (push) Has been skipped
CI / release (push) Has been skipped
2026-06-10 03:29:59 +07:00
datadunia
c6a29a36ed
fix(ci): remove release job, trigger on push/PR only
NexusGuard CI / server-core-test (push) Failing after 46s
NexusGuard CI / server-core-build (push) Has been skipped
NexusGuard CI / device-agent-test (push) Failing after 40s
NexusGuard CI / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI / dashboard-test (push) Failing after 41s
NexusGuard CI / dashboard-dist (push) Has been skipped
Beta Release / deploy (push) Successful in 2m5s
2026-06-02 12:33:36 +07:00
datadunia
aa3116ed36
chore: submodule refs update + CI workflow + plan archive
2026-06-02 12:28:24 +07:00
datadunia
cd26c84c27
feat: real-time traffic monitoring (backend + frontend + CI workflow)
2026-05-31 03:23:21 +07:00
datadunia
870a08ae58
fix(ci): rewrite deploy_call.yaml with correct YAML indentation
Beta Release / deploy (push) Successful in 1m52s
2026-05-30 17:31:56 +07:00
datadunia
7793215e96
fix(ci): replace zip with tar for dashboard-ui packaging
Beta Release / deploy (push) Failing after 0s
2026-05-30 16:41:00 +07:00
datadunia
f8d3c1ca18
fix(ci): correct YAML indentation for swagger generation
Beta Release / deploy (push) Failing after 4m20s
2026-05-30 15:58:58 +07:00
datadunia
5d2eb340ab
ci: add GITEA_TOKEN for checkout authentication
Beta Release / deploy (push) Failing after 14s
2026-05-30 14:51:18 +07:00
datadunia
35b13bd449
ci: add GITEA_TOKEN for checkout authentication
Beta Release / deploy (push) Failing after 5m4s
2026-05-30 05:32:54 +07:00
datadunia
57cd09f297
ci: add GITEA_TOKEN for checkout authentication
Beta Release / deploy (push) Failing after 3h2m41s
2026-05-30 04:40:05 +07:00
datadunia
50b9684d16
chore: CI workflows centralized to superproject .gitea/
2026-05-30 03:20:50 +07:00
datadunia
65c40a4d51
ci: add GITEA_TOKEN for checkout authentication
2026-05-30 03:17:32 +07:00
datadunia
0283fc7ab5
ci: add GITEA_TOKEN for checkout authentication
2026-05-29 20:46:53 +07:00
datadunia
3b5cec80af
ci: add GITEA_TOKEN for checkout authentication
NexusGuard CI/CD / server-core-test (push) Failing after 44s
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-test (push) Failing after 38s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / dashboard-test (push) Failing after 36s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
2026-05-29 20:42:13 +07:00
datadunia
501f802b37
ci: add GITEA_TOKEN for checkout authentication
NexusGuard CI/CD / server-core-test (push) Failing after 42s
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-test (push) Failing after 40s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
NexusGuard CI/CD / dashboard-test (push) Failing after 36s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
2026-05-29 20:32:55 +07:00
datadunia
8be64111a1
ci: add GITEA_TOKEN for checkout authentication
NexusGuard CI/CD / server-core-test (push) Failing after 32s
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-test (push) Failing after 39s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / dashboard-test (push) Failing after 34s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
2026-05-29 20:29:12 +07:00
datadunia
6481a13caf
chore: CI split dev/prod workflows, archive old plans, new plan docs
NexusGuard CI/CD / server-core-test (push) Failing after 33s
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-test (push) Failing after 35s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / dashboard-test (push) Failing after 30s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
2026-05-29 08:01:44 +07:00
datadunia
4e70edc0ea
ci: dashboard artifact zip instead of tar.gz
NexusGuard CI/CD / server-core-test (push) Failing after 34s
NexusGuard CI/CD / device-agent-test (push) Failing after 30s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / dashboard-test (push) Failing after 32s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
2026-05-29 04:08:19 +07:00
datadunia
9c0aadb102
ci: remove docker push, test+build+artifact only
NexusGuard CI/CD / release (push) Has been skipped
NexusGuard CI/CD / server-core-test (push) Failing after 29s
NexusGuard CI/CD / device-agent-test (push) Failing after 38s
NexusGuard CI/CD / dashboard-test (push) Failing after 35s
NexusGuard CI/CD / dashboard-dist (push) Has been skipped
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
2026-05-29 04:00:43 +07:00
datadunia
d0b134645d
ci: add full CI/CD pipeline (test, build, docker, release)
NexusGuard CI/CD / server-core-build (push) Has been skipped
NexusGuard CI/CD / device-agent-test (push) Failing after 35s
NexusGuard CI/CD / dashboard-ui-build (push) Failing after 38s
NexusGuard CI/CD / docker-build-push (VITE_API_BASE_URL=${{ vars.VITE_API_BASE_URL }}
, apps/dashboard-ui, nexusguard-dashboard-ui, dashboard-ui) (push) Has been skipped
NexusGuard CI/CD / release (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI/CD / docker-build-push (apps/server-core, nexusguard-server-core, server-core) (push) Has been skipped
NexusGuard CI/CD / server-core-test (push) Failing after 38s
NexusGuard CI/CD / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI/CD / device-agent-cross-build (amd64, windows) (push) Has been skipped
2026-05-29 03:53:16 +07:00
datadunia
b5817c72a7
feat: add device-agent Dockerfile, pin nginx, add root CI pipeline
2026-05-25 03:26:52 +07:00