diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0d8f66..5f7988f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,14 +2,17 @@ name: CI on: push: - branches: [main, master] + branches: [main, master, develop] pull_request: env: CARGO_TERM_COLOR: always # Pin the toolchain to the declared MSRV so CI matches production. RUST_TOOLCHAIN: 1.90.0 - GO_VERSION: "1.25.0" + # The differential check compares Rust against net/http behaviour, which + # changes between Go releases (e.g. ServeMux redirects 301 -> 307), so the + # reference must be built with the same Go the Rust port mirrors. + GO_VERSION: "1.27.3" jobs: rust: diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 82f6fe5..c36a230 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -17,6 +17,7 @@ on: push: tags: - "v*.*.*" + - "v*" env: REGISTRY_HOST: ${{ vars.REGISTRY_HOST || 'gitea.com' }} diff --git a/README.md b/README.md index b76f77e..7df5762 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,8 @@ against the same `BALANCE_DB_PATH`; do not run both writers simultaneously. Existing accounts, access/refresh tokens and saved device cursors remain usable. See [deployment and rollback](docs/DEPLOYMENT.md) for the full procedure. -Verify the implementations locally with Go 1.25+, Rust and Python 3: +Verify the implementations locally with Go 1.27.3 (the version CI uses for the +differential check), Rust and Python 3: ```sh cargo test --locked diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index fd38cf6..1c2923f 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -2,7 +2,7 @@ ## Требования -Production-сервер использует Rust 1.90+ и bundled SQLite. Go 1.25+ нужен для сохранённой эталонной реализации и differential-проверок. Python 3 используется без сторонних пакетов. +Production-сервер использует Rust 1.90+ и bundled SQLite. Go 1.25+ нужен для сохранённой эталонной реализации; differential-проверки (`tools/compatibility.py`) требуют Go 1.27.3, как в CI: поведение `net/http` (например, код редиректа ServeMux 301/307) зависит от версии Go. Python 3 используется без сторонних пакетов. Проверить локальную версию: