Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
55ed709
Implement graceful versiond host evacuation and replacement
snevolin Jul 29, 2026
3e90360
docs: move versiond shutdown budgets to release-0.2.15-v5
snevolin Jul 29, 2026
6e14a46
Scope host evacuation acceptance workflow
snevolin Jul 29, 2026
1927922
Narrow host evacuation workflow trigger
snevolin Jul 29, 2026
4768df8
Drop migrations for schemas that were never released
snevolin Jul 29, 2026
b7e1082
Replace the router control plane with active health checks
snevolin Aug 2, 2026
ed33092
Give edge-api the same drain contract as versiond
snevolin Aug 2, 2026
9fe3752
Make the edge-api drain reachable, interruptible and tested
snevolin Aug 2, 2026
ff2f962
Make the shutdown budget a real ceiling, and keep the real cause
snevolin Aug 2, 2026
f7295a8
Key the sticky hash ring on address, not on slot id
snevolin Aug 2, 2026
33db60d
Prove the hash ring deterministically, and fix the stale router endpoint
snevolin Aug 2, 2026
178b64d
Hold the rejoining host unready instead of racing its startup
snevolin Aug 2, 2026
3c5f35a
Stop letting a failed version poll take hosts out of rotation
snevolin Aug 2, 2026
48f02bc
Stop claiming /healthz carries the reconcile failure
snevolin Aug 2, 2026
f7a7c36
Pin the failed-install path to the readiness contract too
snevolin Aug 2, 2026
f412142
Do not pin a log level the code does not guarantee
snevolin Aug 2, 2026
1d79822
Ask each host about the version being routed, not about itself
snevolin Aug 2, 2026
13eb056
Make per-version pools hold up outside the happy path
snevolin Aug 2, 2026
03fb099
Hold per-version pools to the same standard as the rest of the router
snevolin Aug 2, 2026
5dae4b6
Reload in place, address by IP, and route the names governance can ap…
snevolin Aug 2, 2026
4ea690c
Drop gonka-reload; make a server earn its place in the pool
snevolin Aug 3, 2026
e2eb533
Follow the child's readiness, and stop pretending the router can drain
snevolin Aug 3, 2026
00f7d37
Give each generation its own readiness monitor
snevolin Aug 3, 2026
a19618d
Close the readiness monitor's seams
snevolin Aug 3, 2026
bd4a8ff
Refuse coarse readiness in an HA deployment unless it is chosen by name
snevolin Aug 3, 2026
d76005d
Give deployment booleans one grammar, parsed once, closed on both ends
snevolin Aug 3, 2026
1e3fce2
Trim whitespace in the shell boolean parsers, as Go already does
snevolin Aug 3, 2026
034888f
Let a health check outwait the probe it triggers
snevolin Aug 3, 2026
4ecab6f
Rename gonka-drain to pool-status and take it off PATH
snevolin Aug 3, 2026
5d2cfac
Anchor the timeout-check asserts past their own comment
snevolin Aug 3, 2026
a33711e
Sweep the render suites for the comment-impostor class, and find its …
snevolin Aug 3, 2026
a2b5a43
Start the shutdown clock at the signal, and stop guessing at durations
snevolin Aug 3, 2026
e9c257a
Harden the router images: named legacy owner, no root, no stray socat
snevolin Aug 3, 2026
27a024b
Raise the announce floor to what the router can actually miss
snevolin Aug 3, 2026
78c8278
Read the router templates in the announce-floor contract test
snevolin Aug 3, 2026
9252434
Extend the announce-floor contract to every checked server
snevolin Aug 3, 2026
2aa1f70
Close the three leftovers: startup announce, traced probes, lost ngin…
snevolin Aug 3, 2026
ce3faf4
Bring the testenv docs to the router that exists
snevolin Aug 3, 2026
ca24599
Fix host evacuation workflow setup
snevolin Aug 3, 2026
bd2705c
Make host evacuation CI start from a cold stack
snevolin Aug 3, 2026
5c03513
docs: explain HAProxy router architecture
snevolin Aug 3, 2026
b681751
docs: describe current HAProxy topology
snevolin Aug 3, 2026
2ddeddc
Never fork a process for a generation that has begun retiring
snevolin Aug 3, 2026
10e8ba6
Linearise the fork with the drain barrier, and check both halves of it
snevolin Aug 3, 2026
06660d3
Derive HA storage guard from the live pool
snevolin Aug 3, 2026
78920b3
Strengthen host evacuation acceptance checks
snevolin Aug 3, 2026
a04ae55
Harden router limits and replacement behavior
snevolin Aug 3, 2026
263ce74
Harden shutdown and stop-start replacement
snevolin Aug 3, 2026
50a880a
Strengthen evacuation contract tests
snevolin Aug 3, 2026
991d5f6
Cover graceful shutdown races
snevolin Aug 3, 2026
533e5ef
Require clean versiond shutdown exit
snevolin Aug 3, 2026
eeab6a4
Harden graceful lifecycle boundaries
snevolin Aug 3, 2026
3a98fe0
Preserve v4 Postgres data during upgrade
snevolin Aug 3, 2026
4188811
Load join configuration in release commands
snevolin Aug 3, 2026
ea2f2d2
Isolate legacy version readiness
snevolin Aug 3, 2026
ffd34cf
Target the devshard v5 cutover
snevolin Aug 4, 2026
27a403b
Persist versiond pool membership
snevolin Aug 4, 2026
a4f1f8c
Derive HA guard from selected backend
snevolin Aug 4, 2026
b652338
Enforce edge API announce floor
snevolin Aug 4, 2026
bb699c1
Wait for versiond readiness during upgrades
snevolin Aug 4, 2026
d4a1e2f
Add edge API multi upgrade path
snevolin Aug 4, 2026
a54cde8
Preserve explicit empty router policy
snevolin Aug 4, 2026
64b7d21
Centralize versiond operator commands
snevolin Aug 4, 2026
1e35e14
Add safe detached Postgres recovery
snevolin Aug 4, 2026
17f3767
Pin base services to v5 release images
snevolin Aug 4, 2026
a0e71bb
Make v5 upgrade replacements fail safe
snevolin Aug 4, 2026
012e5a3
Preflight PostgreSQL migration disk space
snevolin Aug 4, 2026
8c76a64
Detach PostgreSQL recovery volume
snevolin Aug 4, 2026
dca888c
Detect deployment topology during v5 upgrade
snevolin Aug 4, 2026
0504eea
Isolate replacements during v5 upgrade
snevolin Aug 4, 2026
35761e0
Make PostgreSQL recovery preflight restartable
snevolin Aug 4, 2026
0795c0f
Verify restored services after upgrade rollback
snevolin Aug 4, 2026
d6fae05
Harden v5 upgrade recovery contracts
snevolin Aug 4, 2026
e81f577
Verify every version after versiond rollback
snevolin Aug 4, 2026
6fd3ff2
Harden versiond rollback baselines
snevolin Aug 4, 2026
8122cc3
Make v4 rollback safe behind HAProxy
snevolin Aug 4, 2026
b1f28c1
Merge origin/upgrade-v0.2.15
snevolin Aug 4, 2026
740ad09
Build a redundant, route-aware router tier for versiond
snevolin Aug 10, 2026
74f780c
Make router fleet mutations safe across failures
snevolin Aug 10, 2026
dd4c8e1
Describe HAProxy failover instead of obsolete nginx retries
snevolin Aug 10, 2026
83b5b0e
Prove the real fleet before committing router HA cutover
snevolin Aug 10, 2026
4f6c969
Reconcile router fleet lifecycle through normal host updates
snevolin Aug 10, 2026
6a15ccc
Preserve the host's actual Compose topology during v5 upgrade
snevolin Aug 10, 2026
dcd7d38
Turn the devshard v5 release into a machine-checked contract
snevolin Aug 10, 2026
a245e02
Learn newly approved version routes without host intervention
snevolin Aug 10, 2026
7a4bd99
Recover routing catalogs and degraded fleets without route loss
snevolin Aug 10, 2026
a65f11a
Make router fleet status reflect end-to-end admission
snevolin Aug 11, 2026
7d46137
Keep sticky placement identical across both router levels
snevolin Aug 11, 2026
4976198
Reject stale routing catalogs with monotonic revisions
snevolin Aug 11, 2026
1d97669
Withdraw devshard readiness when PostgreSQL is unavailable
snevolin Aug 11, 2026
f74a973
Fence inference execution across HA devshard replicas
snevolin Aug 11, 2026
303f369
Expose only the read-only routing catalog to router slots
snevolin Aug 11, 2026
9a795b3
Converge interrupted v5 upgrades from committed deployment state
snevolin Aug 11, 2026
e047510
Keep public router replacement reversible until admission
snevolin Aug 11, 2026
10b806d
Publish new version routes only after the HA reserve is ready
snevolin Aug 11, 2026
d267139
Prove versiond replicas share the same PostgreSQL database
snevolin Aug 11, 2026
8909b18
Require immutable digest-pinned images in the v5 release
snevolin Aug 11, 2026
d8ef33a
Use one safe version-name contract from governance to routing
snevolin Aug 11, 2026
ca0d27d
Bind resumed upgrades to the captured PostgreSQL identity
snevolin Aug 11, 2026
d3c93e6
Make the approved devshard catalog append-only on chain
snevolin Aug 11, 2026
45dc674
Publish each catalog revision as an atomic routing projection
snevolin Aug 11, 2026
e06091e
Model inference dispatch as a durable, fenced state machine
snevolin Aug 11, 2026
fb76321
Recover the committed Compose topology after a cutover crash
snevolin Aug 11, 2026
c5773c9
Roll ingress policy workers without dropping the healthy reserve
snevolin Aug 11, 2026
759a727
Journal the v5 upgrade as one deployment transaction
snevolin Aug 11, 2026
3e1325b
Make routing catalog progression durable and atomic
snevolin Aug 11, 2026
ee6cd0d
Make ingress upgrades recover as durable transactions
snevolin Aug 11, 2026
46a0e14
Make catalog upgrades self-validating and automatic
snevolin Aug 12, 2026
59dfd25
Remove the unused ML idempotency header
snevolin Aug 12, 2026
a739c17
Remove unused routing and execution contracts
snevolin Aug 12, 2026
7f6cbbb
Harden HA admission and upgrade recovery
snevolin Aug 12, 2026
65c96a4
Bound artifact rollout and harden crash recovery
snevolin Aug 12, 2026
eb80653
Make version artifact identity immutable across HA
snevolin Aug 12, 2026
5a88c67
Restore HA changes to infrastructure boundaries
snevolin Aug 12, 2026
c2a654a
Bind router fleet to HA deployment transactions
snevolin Aug 12, 2026
ab4542b
Close PostgreSQL identity bypasses in HA deploys
snevolin Aug 12, 2026
ac71084
Make router HA checks portable and recovery-aware
snevolin Aug 13, 2026
c0342b4
Stabilize router HA recovery and rollout acceptance
snevolin Aug 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
10 changes: 10 additions & 0 deletions .github/workflows/devshard-testenv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ on:
- 'common/runtimeconfig/**'
- 'common/chain/**'
- 'decentralized-api/nodemanager/**'
- 'versioned/**'
- 'versiond-router/**'
- 'proxy-router/**'
- 'proxy/**'
- 'deploy/join/docker-compose.yml'
- 'deploy/join/docker-compose.versiond.yml'
- 'deploy/join/docker-compose.edge-api-multi.yml'
- '.github/workflows/devshard-testenv.yml'
workflow_dispatch:
inputs:
Expand Down Expand Up @@ -104,6 +111,9 @@ jobs:
go-version: '1.25.9'
cache-dependency-path: devshard/go.sum

- name: Generate test environment
run: make gen-compose

# Each matrix job runs on its own runner with its own Docker daemon, so the
# fixed citest subnet (172.31.0.0/24) never collides across suites. Suites
# run in parallel across runners; tests within a suite stay sequential.
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ on:
- 'local-test-net/**'
- 'testermint/**'
- 'versioned/**'
- 'versiond-router/**'
- 'devshard/**'

issue_comment:
Expand Down Expand Up @@ -53,4 +54,4 @@ jobs:
is_pr_comment: ${{ github.event_name == 'issue_comment' }}
pr_number: ${{ github.event.issue.number || '' }}
enable_upgrades: true
use_matrix: ${{ github.event_name == 'workflow_dispatch' && inputs.use_matrix || true }}
use_matrix: ${{ github.event_name == 'workflow_dispatch' && inputs.use_matrix || true }}
55 changes: 55 additions & 0 deletions .github/workflows/join-postgres-upgrade.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Join Postgres upgrade

on:
pull_request:
paths:
- deploy/join/docker-compose.versiond.yml
- deploy/join/docker-compose.versiond-postgres-recovery.yml
- deploy/join/devshard-postgres-entrypoint.sh
- deploy/join/devshard-postgres-entrypoint_test.sh
- deploy/join/devshard-postgres-migration-preflight.sh
- deploy/join/devshard-postgres-migration-preflight_test.sh
- deploy/join/devshard-postgres-upgrade_test.sh
- deploy/join/testdata/postgres-v4.compose.yml
- deploy/join/testdata/postgres-v5.compose.yml
- .github/workflows/join-postgres-upgrade.yml
push:
branches: [main]
paths:
- deploy/join/docker-compose.versiond.yml
- deploy/join/docker-compose.versiond-postgres-recovery.yml
- deploy/join/devshard-postgres-entrypoint.sh
- deploy/join/devshard-postgres-entrypoint_test.sh
- deploy/join/devshard-postgres-migration-preflight.sh
- deploy/join/devshard-postgres-migration-preflight_test.sh
- deploy/join/devshard-postgres-upgrade_test.sh
- deploy/join/testdata/postgres-v4.compose.yml
- deploy/join/testdata/postgres-v5.compose.yml
- .github/workflows/join-postgres-upgrade.yml
workflow_dispatch:

permissions:
contents: read

jobs:
test-upgrade:
name: Preserve v4 PostgreSQL data
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Check deployment scripts
run: |
shellcheck \
deploy/join/devshard-postgres-entrypoint.sh \
deploy/join/devshard-postgres-entrypoint_test.sh \
deploy/join/devshard-postgres-migration-preflight.sh \
deploy/join/devshard-postgres-migration-preflight_test.sh \
deploy/join/devshard-postgres-upgrade_test.sh
deploy/join/devshard-postgres-entrypoint_test.sh
deploy/join/devshard-postgres-migration-preflight_test.sh

- name: Test in-place v4 migration and persistent restart
run: deploy/join/devshard-postgres-upgrade_test.sh
140 changes: 140 additions & 0 deletions .github/workflows/release-image-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: Release image smoke

on:
pull_request:
paths:
- deploy/join/docker-compose.yml
- deploy/join/docker-compose.versiond.yml
- deploy/join/docker-compose.versiond-external-postgres.yml
- deploy/join/docker-compose.edge-api-multi.yml
- deploy/join/docker-compose.observability.yml
- deploy/join/docker-compose.versiond-v5-compat.yml
- deploy/join/docker-compose.edge-api-v5-compat.yml
- deploy/join/docker-compose.proxy-v4-compat.yml
- deploy/join/versiond-router-slot/docker-compose.yml
- deploy/join/release-image-smoke_test.sh
- deploy/join/devshard-postgres-migration-preflight.sh
- deploy/join/devshard-postgres-migration-preflight_test.sh
- deploy/join/legacy-router-upgrade-barrier.sh
- deploy/join/legacy-router-upgrade-barrier_test.sh
- deploy/join/upgrade-devshard-v5.sh
- deploy/join/upgrade-devshard-v5_test.sh
- deploy/join/devshard-v5-release.env
- deploy/join/devshard-v5-release-contract.sh
- deploy/join/devshard-v5-release-contract_test.sh
- deploy/join/devshard-v5-release-gate.sh
- deploy/join/devshard-v5-release-gate_test.sh
- devshard/docs/network-update-0.2.15-v5.md
- devshard/docs/release-0.2.15-v5.md
- deploy/join/compose-topology.sh
- deploy/join/deployment-lock.sh
- deploy/join/enable-router-ha.sh
- deploy/join/enable-router-ha_test.sh
- deploy/join/versiond-compose-config_test.sh
- deploy/join/versiond-router-fleet.sh
- deploy/join/versiond-router-fleet_test.sh
- proxy/Dockerfile
- proxy/entrypoint.sh
- proxy/nginx.unified.conf.template
- proxy-router/**
- router-runtime/**
- versiond-router/Dockerfile
- versiond-router/entrypoint.sh
- versiond-router/haproxy.cfg.template
- .github/workflows/release-image-smoke.yml
workflow_dispatch:
inputs:
network_update_url:
description: 'Published gonka.ai Network Updates entry for this release'
required: true
type: string
upgrade_deadline_utc:
description: 'Published upgrade deadline (UTC RFC3339)'
required: true
type: string
schedule:
# Published immutable tags are checked continuously after release, not only
# when an operator remembers to dispatch the workflow.
- cron: '17 3 * * *'

permissions:
contents: read

jobs:
compose-contract:
name: Compose release image contract
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Check base and HA image pins
run: deploy/join/release-image-smoke_test.sh --contract

- name: Check fail-safe upgrade workflow
run: |
shellcheck \
deploy/join/devshard-postgres-migration-preflight.sh \
deploy/join/legacy-router-upgrade-barrier.sh \
deploy/join/legacy-router-upgrade-barrier_test.sh \
deploy/join/compose-topology.sh \
deploy/join/deployment-lock.sh \
deploy/join/devshard-v5-release-contract.sh \
deploy/join/devshard-v5-release-contract_test.sh \
deploy/join/devshard-v5-release-gate.sh \
deploy/join/devshard-v5-release-gate_test.sh \
deploy/join/upgrade-devshard-v5.sh \
deploy/join/upgrade-devshard-v5_test.sh \
deploy/join/enable-router-ha.sh \
deploy/join/enable-router-ha_test.sh \
deploy/join/versiond-router-fleet.sh \
deploy/join/versiond-router-fleet_test.sh \
deploy/join/versiond-compose-config_test.sh \
router-runtime/catalog-cache \
router-runtime/catalog-cache_test.sh \
router-runtime/catalog-reconciler \
router-runtime/catalog-status
router-runtime/catalog-cache_test.sh
deploy/join/legacy-router-upgrade-barrier_test.sh
deploy/join/devshard-v5-release-contract_test.sh
deploy/join/devshard-v5-release-gate_test.sh
deploy/join/upgrade-devshard-v5_test.sh
deploy/join/enable-router-ha_test.sh
deploy/join/versiond-compose-config_test.sh

router-fleet-acceptance:
name: Router fleet Docker acceptance
needs: compose-contract
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Exercise rolling router fleet lifecycle
run: deploy/join/versiond-router-fleet_test.sh

registry-smoke:
name: Published image endpoints
needs: compose-contract
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Pull and smoke-test release images
run: deploy/join/release-image-smoke_test.sh

- name: Verify published host update contract
if: github.event_name == 'workflow_dispatch'
env:
NETWORK_UPDATE_URL: ${{ inputs.network_update_url }}
UPGRADE_DEADLINE_UTC: ${{ inputs.upgrade_deadline_utc }}
run: |
deploy/join/devshard-v5-release-gate.sh \
--network-update-url "$NETWORK_UPDATE_URL" \
--deadline-utc "$UPGRADE_DEADLINE_UTC"
49 changes: 45 additions & 4 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -224,17 +224,19 @@ jobs:
- name: Build
run: go build ./...

- name: Run Tests (fork PRs)
# Host shutdown races readiness promotion, admission leases, child reaping,
# and force signals. Keep the detector on the mandatory versioned suite.
- name: Run Tests with race detector (fork PRs)
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork
run: go test ./... -v
run: go test -race ./... -v

- name: Install go-junit-report
if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork
run: go install github.com/jstemmer/go-junit-report/v2@v2.1.0

- name: Run Tests and Generate JUnit Report
- name: Run Tests with race detector and Generate JUnit Report
if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork
run: go test ./... -v 2>&1 | go-junit-report -set-exit-code > junit-report.xml
run: go test -race ./... -v 2>&1 | go-junit-report -set-exit-code > junit-report.xml

- name: Publish Test Results
uses: actions/upload-artifact@v4
Expand All @@ -251,6 +253,38 @@ jobs:
path: versioned/junit-report.xml
reporter: java-junit

# The routers are HAProxy config plus a render script. test-render renders every
# supported shape, asserts on the result, and validates each rendered file with
# the real HAProxy from the image the routers ship.
test-router-config:
runs-on: ubuntu-latest
name: Test router config rendering
strategy:
matrix:
router: [versiond-router, edge-api-router, proxy-router]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Render and validate ${{ matrix.router }} config
run: make -C ${{ matrix.router }} test-render

- name: Exercise proxy-router HA routing
if: matrix.router == 'proxy-router'
run: make -C proxy-router test-routing

- name: Exercise isolated versiond-router slots
if: matrix.router == 'versiond-router'
run: make -C versiond-router test-fleet

test-proxy-policy-config:
runs-on: ubuntu-latest
name: Test nginx policy rendering
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Render and validate private nginx policy config
run: make -C proxy test-render

build-and-test-edge-api:
runs-on: ubuntu-latest
name: Build and Test edge-api (validation)
Expand Down Expand Up @@ -283,6 +317,13 @@ jobs:
working-directory: edge-api
run: go build ./...

# The module's own unit tests — readiness, the drain sequence, config
# validation. The JUnit step below covers common/queryapi only, and for a
# while nothing ran these at all.
- name: Run edge-api unit tests
working-directory: ./edge-api
run: go test -race ./...

- name: Run edge-api tests (fork PRs)
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork
run: bash scripts/validate-edge-api.sh
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/versiond-host-evacuation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# The one suite that exercises the whole Track B contract against a real stack:
# a host leaves rotation before it stops accepting, its stream finishes, the
# session recovers on the survivor, and the host rejoins only when ready. It was
# briefly demoted to the manually-dispatched matrix; review put it back — the
# properties it pins are exactly the ones a routine-looking change breaks.
name: versiond host evacuation

on:
pull_request:
paths:
- 'versioned/**'
- 'versiond-router/**'
- 'proxy-router/**'
- 'proxy/**'
- 'deploy/join/docker-compose.yml'
- 'deploy/join/docker-compose.versiond.yml'
- 'deploy/join/versiond-router-slot/**'
- 'deploy/join/versiond-router-fleet.sh'
- 'common/storage/**'
# devshardd and the devshardctl gateway span packages across the module;
# storage recovery, routing, state and transport changes all affect this
# acceptance contract. Documentation alone does not need the 40m stack.
- 'devshard/**'
- '!devshard/docs/**'
- '!devshard/**/*.md'
- '.github/workflows/versiond-host-evacuation.yml'
workflow_dispatch:

concurrency:
group: versiond-host-evacuation-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
acceptance:
runs-on: ubuntu-latest
timeout-minutes: 40
name: versiond host evacuation
defaults:
run:
working-directory: ./devshard/testenv
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version: '1.25.9'
cache-dependency-path: devshard/go.sum

- name: Generate test environment
run: make gen-compose

- name: Build linux devshardd
run: make build-devshardd

- name: Run host evacuation acceptance test
run: make citest-versiond-host-evacuation
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ prod-local/
/logdy
/inference-chain/junit-report.xml
/deploy/**/config.env
/deploy/**/.gonka-devshard-v5-upgrade-complete
/deploy/join/devshards/postgres/
/testermint/reboot.txt
/local-test-net/node_payload_2.json
/testermint/downloads/
Expand Down
Loading
Loading