[v10.4.x] CI: Additional changes for +security versions (#94926)
CI: Additional changes for +security versions (#94854)
* Build: Fix docker manifest create not using correct IMAGE_TAG
* Support publishing security versions of NPM packages
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
(cherry picked from commit 8f7352e862)
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
This commit is contained in:
co-authored by
Josh Hunt
parent
7cfb3ec25a
commit
a40fee9162
@@ -45,12 +45,12 @@ def publish_image_public_step():
|
||||
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
|
||||
|
||||
# Create the grafana manifests
|
||||
$$debug docker manifest create grafana/grafana:${TAG} \
|
||||
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG} \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-amd64 \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-arm64 \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
|
||||
|
||||
$$debug docker manifest create grafana/grafana:${TAG}-ubuntu \
|
||||
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG}-ubuntu \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64 \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64 \
|
||||
grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
|
||||
|
||||
@@ -1164,13 +1164,14 @@ def retry_command(command, attempts = 60, delay = 30):
|
||||
]
|
||||
|
||||
def verify_linux_DEB_packages_step(depends_on = []):
|
||||
install_command = "apt-get update >/dev/null 2>&1 && DEBIAN_FRONTEND=noninteractive apt-get install -yq grafana=${TAG} >/dev/null 2>&1"
|
||||
install_command = "apt-get update >/dev/null 2>&1 && DEBIAN_FRONTEND=noninteractive apt-get install -yq grafana=$version >/dev/null 2>&1"
|
||||
|
||||
return {
|
||||
"name": "verify-linux-DEB-packages",
|
||||
"image": images["ubuntu"],
|
||||
"environment": {},
|
||||
"commands": [
|
||||
'export version=$(echo ${TAG} | sed -e "s/+security-/-/g")',
|
||||
'echo "Step 1: Updating package lists..."',
|
||||
"apt-get update >/dev/null 2>&1",
|
||||
'echo "Step 2: Installing prerequisites..."',
|
||||
@@ -1184,10 +1185,10 @@ def verify_linux_DEB_packages_step(depends_on = []):
|
||||
# The packages take a bit of time to propogate within the repo. This retry will check their availability within 10 minutes.
|
||||
] + retry_command(install_command) + [
|
||||
'echo "Step 6: Verifying Grafana installation..."',
|
||||
'if dpkg -s grafana | grep -q "Version: ${TAG}"; then',
|
||||
' echo "Successfully verified Grafana version ${TAG}"',
|
||||
'if dpkg -s grafana | grep -q "Version: $version"; then',
|
||||
' echo "Successfully verified Grafana version $version"',
|
||||
"else",
|
||||
' echo "Failed to verify Grafana version ${TAG}"',
|
||||
' echo "Failed to verify Grafana version $version"',
|
||||
" exit 1",
|
||||
"fi",
|
||||
'echo "Verification complete."',
|
||||
@@ -1208,7 +1209,7 @@ def verify_linux_RPM_packages_step(depends_on = []):
|
||||
"sslcacert=/etc/pki/tls/certs/ca-bundle.crt\n"
|
||||
)
|
||||
|
||||
install_command = "dnf install -y --nogpgcheck grafana-${TAG} >/dev/null 2>&1"
|
||||
install_command = "dnf install -y --nogpgcheck grafana-$version >/dev/null 2>&1"
|
||||
|
||||
return {
|
||||
"name": "verify-linux-RPM-packages",
|
||||
@@ -1224,7 +1225,8 @@ def verify_linux_RPM_packages_step(depends_on = []):
|
||||
'echo "Step 4: Configuring Grafana repository..."',
|
||||
"echo -e '" + repo_config + "' > /etc/yum.repos.d/grafana.repo",
|
||||
'echo "Step 5: Checking RPM repository..."',
|
||||
"dnf list available grafana-${TAG}",
|
||||
'export version=$(echo "${TAG}" | sed -e "s/+security-/^security_/g")',
|
||||
"dnf list available grafana-$version",
|
||||
"if [ $? -eq 0 ]; then",
|
||||
' echo "Grafana package found in repository. Installing from repo..."',
|
||||
] + retry_command(install_command) + [
|
||||
@@ -1232,16 +1234,16 @@ def verify_linux_RPM_packages_step(depends_on = []):
|
||||
" rpm --import https://rpm.grafana.com/gpg.key",
|
||||
" rpm -qa gpg-pubkey* | xargs rpm -qi | grep -i grafana",
|
||||
"else",
|
||||
' echo "Grafana package version ${TAG} not found in repository."',
|
||||
' echo "Grafana package version $version not found in repository."',
|
||||
" dnf repolist",
|
||||
" dnf list available grafana*",
|
||||
" exit 1",
|
||||
"fi",
|
||||
'echo "Step 6: Verifying Grafana installation..."',
|
||||
'if rpm -q grafana | grep -q "${TAG}"; then',
|
||||
' echo "Successfully verified Grafana version ${TAG}"',
|
||||
'if rpm -q grafana | grep -q "$verison"; then',
|
||||
' echo "Successfully verified Grafana version $version"',
|
||||
"else",
|
||||
' echo "Failed to verify Grafana version ${TAG}"',
|
||||
' echo "Failed to verify Grafana version $version"',
|
||||
" exit 1",
|
||||
"fi",
|
||||
'echo "Verification complete."',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
global variables
|
||||
"""
|
||||
|
||||
grabpl_version = "v3.0.53"
|
||||
grabpl_version = "v3.0.56"
|
||||
golang_version = "1.22.7"
|
||||
|
||||
# nodejs_version should match what's in ".nvmrc", but without the v prefix.
|
||||
|
||||
Reference in New Issue
Block a user