Skip to content

[deckhouse-cli] Revert "Bump stronghold to v1.18.6" and guard CI - #433

Merged
ldmonster merged 2 commits into
mainfrom
revert/stronghold-v1.18.6
Aug 4, 2026
Merged

[deckhouse-cli] Revert "Bump stronghold to v1.18.6" and guard CI#433
ldmonster merged 2 commits into
mainfrom
revert/stronghold-v1.18.6

Conversation

@Glitchy-Sheep

@Glitchy-Sheep Glitchy-Sheep commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Releases are blocked: after #415 the trdl server cannot build d8. This PR reverts #415 and adds a CI check that runs the same build on risky PRs, so a broken release pipeline shows up in the PR, not on a tag.

Problem

#415 switched the build image in trdl.yaml to builder/golang-alt. The trdl server cannot use it:

  • the server needs root: its generated Dockerfile runs mkdir -p /result in the filesystem root, and the image runs as user 64535:64535
  • the image is ALT-based, and the commands in trdl.yaml are written for Debian (apt-get package names, dpkg -L)

The v0.33.5 release failed on mkdir -p /result: Permission denied and retried for 6 hours: https://github.com/deckhouse/deckhouse-cli/actions/runs/30816427104

GitHub CI stayed green: it never runs this image, it only unpacks /usr/local/go from it.

v0.33.5 ended up as a GitHub release that cannot reach the trdl channels.

Fix

Revert #415:

  • trdl.yaml builds on the root Debian image again
  • release builds use stock Go, without the gost build tag
  • stronghold goes back to the previous version (sdk/api v1.16.18)
  • the d8 stronghold operator raft snapshot inspect command goes away with it

Conflict note: golang.org/x/sync stays a direct dependency (added later by #431).

The stronghold v1.18.6 + GOST work should come back with a trdl-compatible builder image: root user, build deps preinstalled or installed with ALT package names.

Protection: trdl build check in CI

The failure stayed hidden until a tag because nothing runs the trdl build before it. The new check closes this gap.

What it does:

  • .github/scripts/trdl-build-check.sh generates the same Dockerfile the trdl server generates from trdl.yaml
  • runs docker build with the same secret ids on a fake tag
  • fails unless release artifacts land in /result

Secrets it uses (both already exist in CI, nothing new to add):

  • SOURCE_REPO_SSH_KEY - SSH key to read the private repos, passed to the build as the stronghold-ssh secret
  • DECKHOUSE_PRIVATE_REPO - private repo hostname, passed as the deckhouse-private-repo secret

When it runs:

  • on PRs that touch trdl.yaml, go.mod, go.sum or Taskfile.yml
  • weekly by cron and manually via workflow_dispatch
  • PRs from forks are skipped: they get no secrets

Green check means the next tag will build on the trdl server. A change like #415 now fails in its own PR, in the first minute.

Tests

  • the reverted tree builds with stock Go (CGO_ENABLED=0, release tag set without gost)
  • the new check ran on this PR and passed: full trdl release build end to end in 4 minutes

This reverts commit 46e60e2.

The bump switched the trdl build image to container-factory
builder/golang-alt, which cannot work as a trdl builder: trdl requires
a root image (its generated Dockerfile runs `mkdir -p /result` before
any commands), while the new image runs as user 64535:64535 and is
ALT-based, so the Debian-specific install commands in trdl.yaml would
fail as well. As a result the v0.33.5 trdl release failed and retried
for 6 hours until cancelled.

Revert to unblock releases. The stronghold v1.18.6 + GOST toolchain
work should be re-landed together with a trdl-compatible builder image.

Conflict resolution: golang.org/x/sync stays a direct dependency
(added by #431 after the bump).

Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
@Glitchy-Sheep Glitchy-Sheep self-assigned this Aug 4, 2026
Reproduce the trdl server release build in CI: generate the same
Dockerfile the server generates from trdl.yaml and run it with the
same secret ids. Catches a broken release pipeline in the PR that
breaks it instead of on the next release tag.

Runs on PRs touching trdl.yaml, go.mod/go.sum or Taskfile.yml,
weekly by cron, and manually via workflow_dispatch.

Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
@Glitchy-Sheep Glitchy-Sheep changed the title [deckhouse-cli] Revert "Bump stronghold to v1.18.6" [deckhouse-cli] Revert "Bump stronghold to v1.18.6" and guard CI Aug 4, 2026
@ldmonster
ldmonster merged commit 2b6fd8a into main Aug 4, 2026
6 checks passed
@ldmonster
ldmonster deleted the revert/stronghold-v1.18.6 branch August 4, 2026 09:47
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.

2 participants