Author SHA1 Message Date
eSlider 762c236310 fix(ci): fetch PR ref on checkout instead of shallow main clone
CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Successful in 17s
CI & Release / Trivy scan (pull_request) Successful in 20s
CI & Release / Semantic Release (pull_request) Skipped
PR branches forked from main cannot checkout gitea.sha after a
depth-limited default-branch clone; fetch refs/pull/N/head instead.
2026-07-12 12:56:06 +01:00
eSlider df7f38a6a5 docs: add live demo links to design journey
CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Failing after 3s
CI & Release / Trivy scan (pull_request) Skipped
CI & Release / Semantic Release (pull_request) Skipped
Link swarm-data-explorer and swarm-analalytics in sections 7 and 9.
Same access note as swarm.produktor.io; no credentials in docs.
2026-07-10 12:18:21 +01:00
eSlider ed531f9fb6 Link license to readme.md
CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
2026-07-09 15:55:04 +01:00
3 changed files with 25 additions and 4 deletions
+8 -4
View File
@@ -24,8 +24,10 @@ jobs:
steps:
- name: Checkout
run: |
git clone --depth=50 https://${{ gitea.actor }}:${{ gitea.token }}@git.produktor.io/${{ gitea.repository }}.git .
git checkout ${{ gitea.sha }}
git init .
git remote add origin https://${{ gitea.actor }}:${{ gitea.token }}@git.produktor.io/${{ gitea.repository }}.git
git fetch --depth=50 origin "${{ gitea.ref }}"
git checkout FETCH_HEAD
- name: Install dependencies
run: pip install --quiet -r simulator/requirements.txt
@@ -61,8 +63,10 @@ jobs:
steps:
- name: Checkout
run: |
git clone --depth=1 https://${{ gitea.actor }}:${{ gitea.token }}@git.produktor.io/${{ gitea.repository }}.git .
git checkout ${{ gitea.sha }}
git init .
git remote add origin https://${{ gitea.actor }}:${{ gitea.token }}@git.produktor.io/${{ gitea.repository }}.git
git fetch --depth=1 origin "${{ gitea.ref }}"
git checkout FETCH_HEAD
- name: Install Trivy
run: |
+2
View File
@@ -77,3 +77,5 @@ Contributing (TDD-first workflow): [`CONTRIBUTING.md`](CONTRIBUTING.md).
## CI & releases
Every push runs the pipeline in [`.github/workflows/release.yaml`](.github/workflows/release.yaml): **pytest unit tests**, a compile check, a 10-second virtual smoke flight verified with DuckDB, and a Trivy vulnerability/misconfiguration scan. The simulator Docker build also runs `pytest` — a failing test blocks the image. Pushes to `main` then cut a semantic version from the conventional-commit type (`feat:` → minor, `!`/`BREAKING CHANGE` → major, else patch), tag the commit, and publish a release with a **fleet release manifest** (versioned artifact list with checksums — the delivery unit described in [11 — CI/CD & delivery](docs/11-cicd-delivery.md)) plus a source bundle.
[LICENSE](LICENSE)
+15
View File
@@ -129,6 +129,13 @@ coming back to foundations DevOps and sysadmins already trust.
> - [`simulator/explorer/server.py`](https://git.produktor.io/eSlider/swarm-house/src/branch/main/simulator/explorer/server.py#L111-L131) — the query path a peer or an engineer hits identically
> - [`simulator/tests/test_sql_gate.py`](https://git.produktor.io/eSlider/swarm-house/src/branch/main/simulator/tests/test_sql_gate.py#L13-L35) — the gate is safety-critical, so it is tested first
The explorer is running, not just described: the data-plane view (partition tree
and read-only SQL console) is live at
[swarm-data-explorer.produktor.io](https://swarm-data-explorer.produktor.io/)
(same access as this repository and [swarm.produktor.io](https://swarm.produktor.io/)).
Browse the Hive layout, run `SELECT` queries against the live lake, and see the
same statement gate a peer drone would hit in flight.
## 8. Replication and offload
Moving accumulated data uses rsync-class tooling (rclone) over the same SSH
@@ -170,6 +177,14 @@ scanning the whole lake on every query does not scale, so the scan is
> - [`simulator/monitoring/grafana/dashboards/`](https://git.produktor.io/eSlider/swarm-house/src/branch/main/simulator/monitoring/grafana/dashboards) — the fleet and platform dashboards
> - [`.github/workflows/release.yaml`](https://git.produktor.io/eSlider/swarm-house/src/branch/main/.github/workflows/release.yaml) — tests, smoke flight, Trivy, semantic release
The dashboard is running, not just described: **Swarm Fleet — generated data** is
live at
[swarm-analalytics.produktor.io](https://swarm-analalytics.produktor.io/d/swarm-fleet/swarm-fleet-e28094-generated-data?orgId=1&refresh=5s)
(same access as this repository, [swarm.produktor.io](https://swarm.produktor.io/),
and [swarm-data-explorer.produktor.io](https://swarm-data-explorer.produktor.io/)).
Telemetry rows, detections, pose frames, battery, and link quality — all derived
from the Parquet lake via SQL, not from agents on the drones.
## 10. Working method
A note on how this is meant to be built, not just what. Working together needs a