4 Commits
Author SHA1 Message Date
kazeyukiro 6a18d01855 fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks.
2026-09-16 12:28:00 +08:00
風雪 7f664a5d1a fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig.
Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds.
2026-09-15 11:29:07 +08:00
Z User d404de8cb9 fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so
smoke (and UI) saw running=false right after creating the first listener.
- First start: still synchronous (fail the API if core cannot start)
- Already running: keep async restart for responsive create/update
- smoke-runtime: brief poll for mihomo/status.running
2026-09-11 16:25:34 +00:00
freephilx 2e6256fb6a feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs.
Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands.
Add release verification, lifecycle regression tests, and installation documentation.
2026-09-08 22:47:35 +08:00