You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Go version for release pipelines updated to 1.24-bookworm.
Other changes from gromit carried over:
.github/workflows/release.yml upgrade tests (logic added for handling scenarios where no previous version is available, used for new product launches) and steps to push docker images for fips
ci/Dockerfile updated to fix bugs when building locally
ci/goreleaser/goreleaser.yml properly imports env value for fips and adds docker builds to goreleaser for local testing, these are skipped in pipeline runs
ci/install/post_install.sh fix reversed logic and add handling if config file doesn't exist
Description
All versions of golang in the relese.yml file have been updated from 1.24-bullseye to 1.24-bookworm
Inverted cleanup logic now removes the systemd unit when systemctl is not used and leaves it when it is, which may be correct, but please validate across all target distros that the intended files are removed for each init system to avoid stale units or missing service scripts.
if [ "${use_systemctl}"="True" ];then
rm -f /etc/init.d/tyk-gateway
else
rm -f /lib/systemd/system/tyk-gateway.service
fi
The goreleaser command now skips docker builds on non-tag refs and adds new FIPS image build/push steps gated by the matrix golang image. Confirm this conditional behavior matches the release process expectations and does not inadvertently skip required images or attempt pushes on PRs.
The switch to copy from dist using a specific pattern with TARGETARCH may differ from previous globbing; ensure the dpkg install and cleanup work for all arches and that the files exist at those paths during CI and local runs.
The removal targets are reversed: when systemctl is used, you should remove the systemd unit, not the SysV init script. Swap the rm paths to avoid deleting the wrong service file and leaving stale units behind.
if [ "${use_systemctl}" = "True" ]; then
+ rm -f /lib/systemd/system/tyk-gateway.service+else
rm -f /etc/init.d/tyk-gateway
-else- rm -f /lib/systemd/system/tyk-gateway.service
fi
Suggestion importance[1-10]: 8
__
Why: The PR flips the cleanup paths so ${use_systemctl} == True deletes the SysV script, which is inverted; swapping the rm targets matches intent and prevents stale service files. The existing_code matches the new hunk lines 20-24 and the improved_code correctly fixes the logic.
Medium
General
Preserve apt metadata directory
Removing /var/lib/apt breaks further apt operations during later layers or container use (e.g., apt-get update cannot run). Keep apt metadata directories intact while still cleaning caches to avoid runtime package manager failures.
Why: The PR now removes /var/lib/apt, which can break future apt operations in later layers; keeping apt metadata while cleaning caches is a sensible reliability fix. The snippet corresponds to new hunk lines 21-25 and the improved_code reflects retaining /var/lib/apt.
Medium
Correct CLI flag spacing
The conditional appends a leading space inside the quoted fragment, which can produce malformed arguments and inconsistent parsing. Remove the leading spaces inside the dynamic strings to ensure flags are passed correctly.
Why: The embedded strings include a leading space which can lead to awkward argument parsing; removing it is a minor but valid robustness improvement. The line maps to new hunk line 102 and the change is accurate though impact is moderate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Go version for release pipelines updated to 1.24-bookworm.
Other changes from gromit carried over:
.github/workflows/release.ymlupgrade tests (logic added for handling scenarios where no previous version is available, used for new product launches) and steps to push docker images for fipsci/Dockerfileupdated to fix bugs when building locallyci/goreleaser/goreleaser.ymlproperly imports env value for fips and adds docker builds to goreleaser for local testing, these are skipped in pipeline runsci/install/post_install.shfix reversed logic and add handling if config file doesn't existDescription
All versions of golang in the
relese.ymlfile have been updated from1.24-bullseyeto1.24-bookwormRelated Issue
Jira ticket: TT-16060
Motivation and Context
This update is required so the CI pipeline can pick up the latest Go patch, which addresses newly reported CVEs in
stdlibTypes of changes
Checklist
PR Type
Bug fix, Enhancement
Description
Switch Go image to 1.24-bookworm
Add FIPS docker build and publishing
Fix post-install cleanup and chmod guard
Improve upgrade tests fallback logic
Diagram Walkthrough
File Walkthrough
post_install.sh
Fix service cleanup and safe chmodci/install/post_install.sh
release.yml
Release workflow: bookworm and FIPS support.github/workflows/release.yml
Dockerfile.std
Dockerfile uses dist deb and cleans cachesci/Dockerfile.std
goreleaser.yml
Goreleaser: add docker images and FIPS configci/goreleaser/goreleaser.yml