Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b8fa174
Added packets and measurements to test
jorgesg82 Feb 28, 2026
5b85637
fixed IPs
jorgesg82 Feb 28, 2026
ae9abd1
fix(test-schema): restore signed integer measurements for ExamplePackets
jorgesg82 Feb 28, 2026
d0f7d80
fix(test-schema): keep counter fields unsigned and mirror fields signed
jorgesg82 Feb 28, 2026
8a7cf90
Updated with latest coce
jorgesg82 May 14, 2026
2589624
fixed
jorgesg82 May 16, 2026
b85e018
Remove other boards
jorgesg82 May 19, 2026
55b1252
removed old sockets
jorgesg82 May 19, 2026
b237a46
Clean packets
jorgesg82 May 19, 2026
e7fcace
Removed orders entirely
jorgesg82 May 19, 2026
ae8c134
added fault order
jorgesg82 May 19, 2026
7e47b5e
Updated fault order
jorgesg82 May 19, 2026
2cc6f2d
chore(adj-validator): copy ADJ-Validator from test-adj
JavierRibaldelRio May 19, 2026
f9514c2
chore(adj-validator): copy ADJ-Validator from test-adj
JavierRibaldelRio May 20, 2026
9227185
Added orders and packets
jorgesg82 May 23, 2026
4f25704
updated ADJ with new states
jorgesg82 Jun 3, 2026
53f1278
Added tapes protection
jorgesg82 Jun 3, 2026
083117e
chore(adj-validator): copy ADJ-Validator from test-adj
JavierRibaldelRio Jun 10, 2026
b298d2e
Removed bcu socket (wtf)
jorgesg82 Jun 21, 2026
55ea00b
Add mock VCU peer boards
jorgesg82 Jun 21, 2026
102d3df
Send mock status packets to control station
jorgesg82 Jun 21, 2026
8301c88
Schedule mock status telemetry
jorgesg82 Jun 21, 2026
8931845
Use unique mock control station sockets
jorgesg82 Jun 21, 2026
9407d48
Hide mock TCP sockets from control station
jorgesg82 Jun 21, 2026
a54d444
rename
jorgesg82 Jun 21, 2026
1a8c980
Removed uneeded packets
jorgesg82 Jun 21, 2026
b5a337f
Fixed enum measurements
jorgesg82 Jun 21, 2026
a7836c1
Removed duplicated orders
jorgesg82 Jun 21, 2026
163f672
removed unused packet
jorgesg82 Jun 21, 2026
f5d4762
things
FoniksFox Jun 23, 2026
eb9bda8
things 2
FoniksFox Jun 23, 2026
dccff55
repair things 2
FoniksFox Jun 23, 2026
4b134d2
Add enums
FoniksFox Jun 23, 2026
bbb10ce
revert one thing
FoniksFox Jun 23, 2026
d2c6946
I don't know, whatever
FoniksFox Jun 23, 2026
c97090d
ah
FoniksFox Jun 23, 2026
9c3c8ac
fix: remove mock packages
JavierRibaldelRio Jun 28, 2026
657c212
feat: add BLCU
JavierRibaldelRio Jun 28, 2026
48987c8
Astra (#68)
FoniksFox Jul 9, 2026
98227df
Remove reset bypass from PCU (#70)
victor-Lopez25 Jul 9, 2026
8ee6346
Ramon (#71)
jorgecanut Jul 9, 2026
7d7f31f
Add back 3 deleted measurements (#72)
victor-Lopez25 Jul 9, 2026
0cad628
Readd deleted data from Order and revert to f64 -> f32 (#73)
victor-Lopez25 Jul 9, 2026
ecf1131
Add FAULT orders to every board and change the remote_ip of the vcu_u…
FoniksFox Jul 11, 2026
b18a6b4
i need to show all temperatures, not just max and min
jorgecanut Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 59 additions & 2 deletions .github/workflows/adj-tester.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: ADJ Validator
name: ADJ Validator (and Compact)

on:
push:
push:
pull_request:

jobs:
Expand All @@ -25,3 +25,60 @@ jobs:
- name: Run ADJ validation
run: |
python3 .github/workflows/scripts/adj-tester/main.py

- name: Notify Slack on failure
if: failure()
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
run: |
jq -n \
--arg repo "${{ github.repository }}" \
--arg branch "${{ github.ref_name }}" \
--arg actor "${{ github.actor }}" \
--arg run_url "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
'{
text: "<!channel> ❌ ADJ Validator Failed\n\nRepository: \($repo)\nBranch: \($branch)\nActor: \($actor)\n\nWorkflow run:\n\($run_url)"
}' | curl -X POST -H "Content-type: application/json" \
--data @- \
$SLACK_WEBHOOK

publish-compact-adj:
needs: validate-adj
runs-on: ubuntu-latest
env:
TARGET_REPO: Hyperloop-UPV/ADJ-Archive
TARGET_BRANCH: main
TARGET_PATH: storage/commit-${{ github.sha }}.json

steps:
- name: Checkout source repository
uses: actions/checkout@v4

- name: Compact ADJ
run: |
chmod +x .github/workflows/scripts/adj-compact/compact.sh
.github/workflows/scripts/adj-compact/compact.sh "${{ runner.temp }}/adj.json"

- name: Upload to destination repo via API
env:
GH_TOKEN: ${{ secrets.TARGET_REPO_TOKEN }}
run: |
base64 -w0 "${{ runner.temp }}/adj.json" > "${{ runner.temp }}/adj.b64"
jq -n \
--arg message "chore: add compacted ADJ from ${{ github.repository }}@${{ github.sha }}" \
--rawfile content "${{ runner.temp }}/adj.b64" \
--arg branch "$TARGET_BRANCH" \
'{
message: $message,
content: $content,
branch: $branch,
committer: {name: "github-actions[bot]", email: "41898282+github-actions[bot]@users.noreply.github.com"},
author: {name: "github-actions[bot]", email: "41898282+github-actions[bot]@users.noreply.github.com"}
}' \
> "${{ runner.temp }}/body.json"
curl --fail-with-body -sS -X PUT \
-H "Authorization: Bearer $GH_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--data "@${{ runner.temp }}/body.json" \
"https://api.github.com/repos/${TARGET_REPO}/contents/${TARGET_PATH}"
31 changes: 31 additions & 0 deletions .github/workflows/scripts/adj-compact/compact.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env bash
set -euo pipefail

# Javier Ribal del Río
# ADJ Compact: Merge all JSON files into a single `adj.json` for easier consumption by clients that prefer a single file.
# Usage: `./compact.sh [output-file]`
# Version: v11.0.0 (2026-05-18)
#

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT="$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel 2>/dev/null || (cd "$SCRIPT_DIR/../../../.." && pwd))"
OUT="${1:-${ROOT}/adj.json}"
OUT_BASE="$(basename "$OUT")"

cd "$ROOT"

acc='{}'
# Sort shallowest-first so files like `boards.json` are merged before `boards/X/Y.json`,
# letting the deeper, more specific content override the index-file stubs.
while IFS= read -r rel; do
[[ -z "$rel" ]] && continue
[[ "$rel" == "$OUT_BASE" ]] && continue
key="${rel%.json}"
acc=$(jq -c --arg k "$key" --slurpfile v "$rel" '
($k | split("/")) as $p
| . * ([{($p[-1]): $v[0]}] | .[0] | reduce ($p[:-1] | reverse)[] as $seg (.; {($seg): .}))
' <<<"$acc")
done < <(find . -type d -name .github -prune -o -type f -name '*.json' -printf '%d %p\n' | sort -n | sed 's|^[0-9]* \./||')

printf '%s\n' "$acc" >"$OUT"
echo "Wrote $OUT"
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
"additionalProperties": true,
"required": [
"board_id",
"board_ip",
"measurements",
"packets"
"board_ip"
],
"properties": {
"board_id": {
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/scripts/adj-tester/schema/socket.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,20 @@
"description": "Remote IPv4 address"
},
"remote_port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Remote port number for Socket"
"oneOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 65535
},
{
"type": "string",
"enum": [
"backend"
]
}
],
"description": "Remote port number for Socket or the string \"backend\""
}
}
}
Expand Down
9 changes: 3 additions & 6 deletions boards.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
{
"HVSCU-Cabinet": "boards/HVSCU-Cabinet/HVSCU-Cabinet.json",
"BCU": "boards/BCU/BCU.json",
"PCU": "boards/PCU/PCU.json",
"VCU": "boards/VCU/VCU.json",
"LCU": "boards/LCU/LCU.json",
"HVSCU": "boards/HVSCU/HVSCU.json",
"BMSL": "boards/BMSL/BMSL.json",
"VCU": "boards/VCU/VCU.json"
"PCU": "boards/PCU/PCU.json",
"HVBMS": "boards/HVBMS/HVBMS.json"
}
14 changes: 0 additions & 14 deletions boards/BCU/BCU.json

This file was deleted.

34 changes: 0 additions & 34 deletions boards/BCU/hvscu_order_measurements.json

This file was deleted.

50 changes: 0 additions & 50 deletions boards/BCU/hvscu_orders.json

This file was deleted.

Loading
Loading