ydb-platform / ydb-platform/ydb-php-sdk

dev: образ YDB для CI (cr.yandex/yc/yandex-docker-local-ydb) не имеет тегов актуальных версий

Open Beginner friendly
#293 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
PHP
Stars
39
Forks
19
Avg merge
1d 15h
Merged PRs (30d)
2

Description

Опишите текущую ситуацию

.github/workflows/tests.yml гоняет матрицу тестов на cr.yandex/yc/yandex-docker-local-ydb:${{ matrix.ydb-versions }} с ydb-versions: ['stable-22-5', 'trunk', '23.3', '23.2', '23.1'].

Проверил теги этого реестра напрямую (docker run --entrypoint /ydbd <tag> -V, а также через manifest API самого реестра): номерные теги релизов там обрываются на 23.3 (2023 год), тега latest вообще нет. То есть сейчас матрица тестирует четыре версии 2022-2023 годов плюс один билд trunk (собран прямо с HEAD, не привязан ни к какому релизу). Ни одна реально вышедшая версия 24.x/25.x/26.x при этом CI не покрыта вообще.

Опишите предпочтительное решение

Перейти на образ ydbplatform/local-ydb — тот же, которым уже пользуется CI SDK для Go, Python, Java, .NET, Rust и Node.js. Он активно поддерживается: latest сейчас указывает на реальный, недавний релиз (26.1.1.22), и там есть непрерывный ряд номерных тегов вплоть до 26.x, включая 24.4 и 25.4.

Предлагаемая матрица:

ydb-versions: ['24.4', '25.4', 'latest', 'edge', 'trunk']

ydbplatform/local-ydb использует те же пути (/ydbd, /ydb), ту же базу по умолчанию (/local), те же порты по умолчанию (grpc 2136, tls 2135, мониторинг 8765) и тот же путь TLS-сертификатов по умолчанию (/ydb_certs), что и текущий образ, — остальную конфигурацию сервиса менять не нужно. Переменную YDB_USE_IN_MEMORY_PDISKS этот образ не читает (она специфична для текущего образа), поэтому её тоже можно убрать.

Опишите альтернативы

Оставить cr.yandex/yc/yandex-docker-local-ydb и вручную обновлять список тегов время от времени. Это лечит симптом, а не причину: номерные теги этого реестра перестали расти после 23.3, так что любой список, выбранный сегодня, устареет точно так же — просто позже.

Рассматривался также вариант держать в матрице оба реестра для двойного покрытия, но это удваивает число job'ов без явной пользы, раз один образ уже покрывает нужный диапазон версий.

Связанный код

.github/workflows/tests.yml

Дополнительный контекст

Обнаружено на тестах новой функциональности ydb, а также при сравнении покрытия версий YDB в CI этого SDK с остальными официальными SDK — ни один из них не привязывает матрицу к настолько старым версиям.

Если запрос на фичу будет одобрен, готовы ли вы отправить PR?
#292

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Open .github/workflows/tests.yml and inspect the YDB service matrix and its environment variables. Replace the current image and version list with the proposed ydbplatform/local-ydb values, removing only the image-specific setting mentioned in the issue. Run the workflow or its relevant tests and confirm all matrix versions start with the existing paths, ports, and certificates.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, php, yaml
Domain
ci-cd, devops, testing-qa
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
88/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.