Skip to content

Fix: образ собирается с датой и коммитом сборки - #8

Merged
DevOps-spb-ru merged 1 commit into
mainfrom
fix/image-build-date
Sep 22, 2026
Merged

DevOps-spb-ru merged 1 commit into
mainfrom
fix/image-build-date

Conversation

@DevOps-spb-ru

Copy link
Copy Markdown
Owner

Fix: .github/workflows/release-image.yml — --build-arg DATE: без него sqlbrc --version в образе печатал «сборка unknown»
Fix: Container image optimizer/Dockerfile — ARG REVISION/DATE и -X main.commit/main.date: в образе было «commit none, сборка unknown»
Update: Container image optimizer/README.md, SQL backup restore clone/README.md — в образе видны версия, коммит и дата сборки
Update: Container image optimizer/CHANGELOG.md, SQL backup restore clone/CHANGELOG.md — раздел Unreleased: исправление даты сборки в образе

Pull Request

Что сделано

Техдолг после релиза sqlbrc 0.3.0: образ собирался без даты сборки.

  • .github/workflows/release-image.yml: в сборку образа добавлен
    --build-arg DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" рядом с VERSION и REVISION. Без него
    sqlbrc --version из контейнера печатал «сборка unknown», хотя бинарь из того же релиза
    показывает дату, — сверить образ с релизом было нечем.
  • Container image optimizer/Dockerfile: одной строкой в release-image.yml дефект cio не
    закрывается — его стадия сборки подставляла только main.version, поэтому в образе было
    «commit none, сборка unknown». Добавлены ARG REVISION/ARG DATE и -X main.commit,
    -X main.date (как в Makefile и release-binaries.yml).
  • README.md обоих инструментов: описано, что в образе видны версия, коммит и дата сборки
    и какие build-аргументы за это отвечают.
  • CHANGELOG.md обоих инструментов: раздел [Unreleased] с описанием исправления.

Тип изменения

  • Исправление
  • Новая функциональность
  • Документация
  • CI/инфраструктура
  • Рефакторинг без изменения поведения

Как проверено

Код Go не менялся (правки — в Dockerfile, workflow и документации), поэтому gofmt/go vet/
go test/golangci-lint не запускались: проверялась сборка образов.

  • Локальная сборка образа sqlbrc и версия внутри контейнера:

    cd "SQL backup restore clone"
    docker build --build-arg VERSION=0.3.0 --build-arg REVISION=313e00a \
      --build-arg DATE=2026-09-21T12:34:56Z -t sqlbrc:date-check .
    docker run --rm sqlbrc:date-check --version
    # sqlbrc 0.3.0 (commit 313e00a, сборка 2026-09-21T12:34:56Z)
  • Локальная сборка образа cio и версия внутри контейнера:

    cd "Container image optimizer"
    docker build --build-arg VERSION=0.2.0 --build-arg REVISION=ae76fc9 \
      --build-arg DATE=2026-09-21T12:34:56Z -t cio:date-check .
    docker run --rm cio:date-check --version
    # cio 0.2.0 (commit ae76fc9, сборка 2026-09-21T12:34:56Z)
  • python .work/validate-workflows.py — 6 файлов OK.

  • .work/security/run-workflow-lint.ps1 — actionlint и zizmor: exit 0.

  • Обновлены README.md и CHANGELOG.md затронутых инструментов.

Влияние и риски

  • Изменения пользовательского поведения: --version внутри образа теперь печатает версию,
    коммит и дату сборки; состав артефактов, метки и теги не меняются.
  • Обратная совместимость: полная. Сборка без --build-arg DATE (локальная, «как раньше»)
    сохраняет значения по умолчанию (unknown, none).
  • Дата попадает в образ в момент сборки, поэтому при сборке образа из релизного workflow
    и бинарей из release-binaries.yml значения совпадают с точностью до секунды запуска
    каждого job'а, а не с точностью до тега.

Fix: .github/workflows/release-image.yml — --build-arg DATE: без него sqlbrc --version в образе печатал «сборка unknown»
Fix: Container image optimizer/Dockerfile — ARG REVISION/DATE и -X main.commit/main.date: в образе было «commit none, сборка unknown»
Update: Container image optimizer/README.md, SQL backup restore clone/README.md — в образе видны версия, коммит и дата сборки
Update: Container image optimizer/CHANGELOG.md, SQL backup restore clone/CHANGELOG.md — раздел Unreleased: исправление даты сборки в образе
@DevOps-spb-ru DevOps-spb-ru self-assigned this Sep 22, 2026
@DevOps-spb-ru
DevOps-spb-ru merged commit e1cc69c into main Sep 22, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant