Skip to content

[releng release-5.8.15] gromit: sync templates - #8575

Open
probelabs[bot] wants to merge 1 commit into
release-5.8.15from
releng/release-5.8.15
Open

[releng release-5.8.15] gromit: sync templates#8575
probelabs[bot] wants to merge 1 commit into
release-5.8.15from
releng/release-5.8.15

Conversation

@probelabs

@probelabs probelabs Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Auto-generated from gromit templates by policy sync.

@probelabs
probelabs Bot requested a review from a team as a code owner August 12, 2026 07:45
@probelabs
probelabs Bot enabled auto-merge (squash) August 12, 2026 07:45
@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected

@github-actions

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Preserve basename branch fallback

Switching from the basename to the full HEAD_REF can break existing cross-repo
branch matching for names like team/feature-x, where tyk-analytics may still use
just feature-x. Try the full ref first and fall back to ${HEAD_REF##*/} before
declaring the branch missing, so PRs do not unexpectedly stop reusing the intended
analytics branch.

.github/workflows/release.yml [802-811]

-BRANCH="$HEAD_REF"
-echo "Checking for branch: $BRANCH in tyk-analytics"
+REMOTE_REF=""
+for CANDIDATE in "$HEAD_REF" "${HEAD_REF##*/}"; do
+  BRANCH="$CANDIDATE"
+  echo "Checking for branch: $BRANCH in tyk-analytics"
 
-if ! REMOTE_REF=$(git ls-remote \
-  --heads \
-  "https://x-access-token:${GITHUB_TOKEN}@github.com/TykTechnologies/tyk-analytics.git" \
-  "refs/heads/$BRANCH"); then
-    echo "::error::Unable to query tyk-analytics; check GitHub App authentication and repository permissions"
-    exit 1
-fi
+  if ! REMOTE_REF=$(git ls-remote \
+    --heads \
+    "https://x-access-token:${GITHUB_TOKEN}@github.com/TykTechnologies/tyk-analytics.git" \
+    "refs/heads/$BRANCH"); then
+      echo "::error::Unable to query tyk-analytics; check GitHub App authentication and repository permissions"
+      exit 1
+  fi
 
+  [ -n "$REMOTE_REF" ] && break
+done
+
Suggestion importance[1-10]: 8

__

Why: Changing BRANCH from ${HEAD_REF##*/} to full HEAD_REF can break existing branch matching for repos that still use the basename form, making this a plausible regression in check_branch. Trying full HEAD_REF first and then falling back preserves the new behavior while keeping backward compatibility.

Medium
Resolve PRs by branch

Matching a tyk-analytics PR by head SHA can select the wrong PR when multiple PRs
point at the same commit, which would make this job reuse an unrelated dashboard
image. Resolve the PR by branch name instead, and only reuse pr-* images for the PR
that actually owns BRANCH.

.github/workflows/release.yml [912-918]

-TA_REMOTE="https://x-access-token:${GH_TOKEN}@github.com/TykTechnologies/tyk-analytics.git"
-BRANCH_SHA=$(git ls-remote --heads "$TA_REMOTE" "refs/heads/$BRANCH" | cut -f1 || true)
-DASH_PR=$(git ls-remote "$TA_REMOTE" 'refs/pull/*/head' 2>/dev/null \
-  | awk -v sha="$BRANCH_SHA" '$1 == sha { split($2, r, "/"); print r[3] }' \
-  | sort -n | tail -1 || true)
+DASH_PR=$(gh pr list \
+  --repo TykTechnologies/tyk-analytics \
+  --head "$BRANCH" \
+  --state open \
+  --json number \
+  --jq '.[0].number // ""' 2>/dev/null || true)
 
 if [ -n "$DASH_PR" ] && dash_image_exists "pr-${DASH_PR}"; then
Suggestion importance[1-10]: 7

__

Why: Matching tyk-analytics PRs by BRANCH_SHA can incorrectly pick an unrelated PR when multiple PR heads share the same commit, so this is a legitimate correctness issue. The proposed switch to querying by BRANCH is consistent with the newly added GH_TOKEN flow and more accurately targets the intended pr-* image.

Medium

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch 2 times, most recently from 2ddd947 to e93c900 Compare August 17, 2026 21:16
# (see "Save Go build cache"). PRs read the cache but never write it, so
# they don't re-upload the multi-GB cache each run, and the store isn't
# churned. master/tags keep the cache warm for PRs to restore from.
- uses: WarpBuilds/cache/restore@f643a1ba29942d56621d07fc2d4284c7219868ad # v1
# causing a perpetual re-save + cache eviction. Skip if we already had an
# exact hit (nothing new to store).
- name: Save Go build cache
uses: WarpBuilds/cache/save@f643a1ba29942d56621d07fc2d4284c7219868ad # v1
Comment on lines +1293 to +1304
upgrade-tests:
needs:
- test-controller-distros
strategy:
fail-fast: true
matrix:
arch:
- amd64
- arm64
distro: ${{ fromJson(needs.test-controller-distros.outputs.deb) }}
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
fetch-depth: 1
sparse-checkout: ci
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: deb
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
- uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: generate dockerfile
run: |
echo 'FROM ${{ matrix.distro }}
ARG TARGETARCH
COPY tyk-gateway*_${TARGETARCH}.deb /tyk-gateway.deb
RUN apt-get update && apt-get install -y curl
# TODO(security): curl|bash - consider fetching script and verifying checksum before execution
RUN curl -fsSL https://packagecloud.io/install/repositories/tyk/tyk-gateway/script.deb.sh | bash || echo "Repository setup failed, but continuing" # SECURITY: accepted risk, see TODO above
RUN apt-get install -y tyk-gateway=3.0.8 || echo "Previous version not found, testing fresh install"
RUN dpkg -i /tyk-gateway.deb

RUN /opt/tyk-gateway/install/setup.sh --listenport=8080 --redishost=localhost --redisport=6379 --domain=""
COPY ci/tests/api-functionality/data/api.json /opt/tyk-gateway/apps/
CMD ["/opt/tyk-gateway/tyk", "--conf", "/opt/tyk-gateway/tyk.conf"]
' | tee Dockerfile
- name: install on ${{ matrix.distro }}
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
with:
context: "."
platforms: linux/${{ matrix.arch }}
build-args: |
RHELARCH=${{ startsWith(matrix.arch, 'arm64') && 'aarch64' || 'x86_64' }}
cache-from: type=gha
cache-to: type=gha,mode=max
file: Dockerfile
push: false
tags: test-${{ matrix.distro }}-${{ matrix.arch }}
load: true
- name: Test the built container image with api functionality test.
run: |
docker run -d -p8080:8080 --name=test --platform linux/${{ matrix.arch }} --network ${{ job.container.network }} --rm test-${{ matrix.distro }}-${{ matrix.arch }}
sleep 2
./ci/tests/api-functionality/api_test.sh
sleep 2
docker stop test || true
upgrade-rpm:
services:
httpbin.org:
image: kennethreitz/httpbin
runs-on: ${{ vars.DEFAULT_RUNNER }}
needs:
- test-controller-distros
strategy:
fail-fast: true
matrix:
arch:
- amd64
- arm64
distro: ${{ fromJson(needs.test-controller-distros.outputs.rpm) }}
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
fetch-depth: 1
sparse-checkout: ci
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: rpm
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
- uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: generate dockerfile
run: |
echo 'FROM ${{ matrix.distro }}
ARG RHELARCH
COPY tyk-gateway*.${RHELARCH}.rpm /tyk-gateway.rpm
RUN command -v curl || yum install -y curl
RUN command -v useradd || yum install -y shadow-utils
# TODO(security): curl|bash - consider fetching script and verifying checksum before execution
RUN curl -fsSL https://packagecloud.io/install/repositories/tyk/tyk-gateway/script.rpm.sh | bash || echo "Repository setup failed, but continuing" # SECURITY: accepted risk, see TODO above
RUN yum install -y tyk-gateway-3.0.8-1 || echo "Previous version not found, testing fresh install"
RUN curl https://keyserver.tyk.io/tyk.io.rpm.signing.key.2020 -o tyk-gateway.key && rpm --import tyk-gateway.key
RUN rpm --checksig /tyk-gateway.rpm
RUN rpm -Uvh --force /tyk-gateway.rpm

RUN /opt/tyk-gateway/install/setup.sh --listenport=8080 --redishost=localhost --redisport=6379 --domain=""
COPY ci/tests/api-functionality/data/api.json /opt/tyk-gateway/apps/
CMD ["/opt/tyk-gateway/tyk", "--conf", "/opt/tyk-gateway/tyk.conf"]
' | tee Dockerfile
- name: install on ${{ matrix.distro }}
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
with:
context: "."
platforms: linux/${{ matrix.arch }}
build-args: |
RHELARCH=${{ startsWith(matrix.arch, 'arm64') && 'aarch64' || 'x86_64' }}
cache-from: type=gha
cache-to: type=gha,mode=max
file: Dockerfile
push: false
tags: test-${{ matrix.distro }}-${{ matrix.arch }}
load: true
- name: Test the built container image with api functionality test.
run: "docker run -d -p8080:8080 --name=test --platform linux/${{ matrix.arch }} --network ${{ job.container.network }} --rm test-${{ matrix.distro }}-${{ matrix.arch }}\nsleep 2\n./ci/tests/api-functionality/api_test.sh\nsleep 2\ndocker stop test || true \n"
uses: TykTechnologies/github-actions/.github/workflows/upgrade-tests.yml@production
with:
deb: ${{ needs.test-controller-distros.outputs.deb }}
rpm: ${{ needs.test-controller-distros.outputs.rpm }}
rpm_amd64: ${{ needs.test-controller-distros.outputs.rpm_amd64 }}
package_name: tyk-gateway
upgrade_repo: tyk-gateway
runs_on: ${{ vars.DEFAULT_RUNNER }}
run_gateway_tests: true
@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

zizmor findings

Severity Count
High 29
Medium 63
Low 8
Info 10

Full details are in the workflow run.

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch 11 times, most recently from d5ddc26 to 6e961d0 Compare August 25, 2026 07:06
@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch 4 times, most recently from 961dea3 to e36e49e Compare August 26, 2026 17:08
@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch from e36e49e to 20de62f Compare September 3, 2026 09:35
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

1 similar comment
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
71.5% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch from 20de62f to a89f581 Compare September 4, 2026 10:44
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch from a89f581 to 09a05fd Compare September 4, 2026 11:50
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

1 similar comment
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch from 09a05fd to db8b8a9 Compare September 9, 2026 15:05
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

1 similar comment
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@probelabs
probelabs Bot force-pushed the releng/release-5.8.15 branch from db8b8a9 to fd8569e Compare September 10, 2026 11:35
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

1 similar comment
@sentinelone-cnapp-eu1

Copy link
Copy Markdown

SentinelOne CNS Hardcoded Secret Detector
✅ Congratulations, your code is safe

SentinelOne CNS is a cloud-agnostic, agentless CSPM & CWPP solution that continuously detects and prevents vulnerabilities that have the highest probability of being exploited in Azure, AWS, Google Cloud, and Kubernetes.

@github-actions

Copy link
Copy Markdown
Contributor

🚨 Jira Linter Failed

Commit: fd8569e
Failed at: 2026-09-10 11:36:31 UTC

The Jira linter failed to validate your PR. Please check the error details below:

🔍 Click to view error details
failed to validate branch and PR title rules: branch name 'releng/release-5.8.15' must contain a valid Jira ticket ID (e.g., ABC-123)

Next Steps

  • Ensure your branch name contains a valid Jira ticket ID (e.g., ABC-123)
  • Verify your PR title matches the branch's Jira ticket ID
  • Check that the Jira ticket exists and is accessible

This comment will be automatically deleted once the linter passes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant