fix(e2e): pin emulator versions by SHA to prevent CI failures

Pin all e2e test emulator images to specific SHA256 digests to ensure
immutability and prevent unexpected breakage from upstream changes:
- Azurite (Azure): 3.35.0 @sha256:647c63a9...
- MinIO (S3): RELEASE.2025-09-07T16-13-09Z @sha256:14cea493...
- fake-gcs-server (GCS): 1.52.3 @sha256:666f86b8...

All pinned SHAs match the current :latest tag, ensuring we're using
the same images that were previously tested.

Updated renovate configuration to track digest-based updates while
preserving version information in comments for context.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
This commit is contained in:
Marco Nenciarini 2026-01-12 14:41:44 +01:00
parent 4f5b407c0f
commit d589729d53
No known key found for this signature in database
GPG Key ID: 589F03F01BA55038
4 changed files with 18 additions and 5 deletions

View File

@ -35,6 +35,15 @@
'# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s', '# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s',
], ],
}, },
{
customType: 'regex',
managerFilePatterns: [
'\\.go$',
],
matchStrings: [
'// renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: versioning=(?<versioning>[^\\s]+?))?\\s+(?:// Version: (?<currentValue>[^\\s]+?)\\s+)?Image:\\s*"[^@]+@(?<currentDigest>sha256:[a-f0-9]+)"',
],
},
{ {
customType: 'regex', customType: 'regex',
managerFilePatterns: [ managerFilePatterns: [

View File

@ -71,8 +71,9 @@ func newAzuriteDeployment(namespace, name string) *appsv1.Deployment {
Containers: []corev1.Container{ Containers: []corev1.Container{
{ {
Name: name, Name: name,
// TODO: renovate the image // renovate: datasource=docker depName=mcr.microsoft.com/azure-storage/azurite versioning=docker
Image: "mcr.microsoft.com/azure-storage/azurite", // Version: 3.35.0
Image: "mcr.microsoft.com/azure-storage/azurite@sha256:647c63a91102a9d8e8000aab803436e1fc85fbb285e7ce830a82ee5d6661cf37",
Ports: []corev1.ContainerPort{ Ports: []corev1.ContainerPort{
{ {
ContainerPort: 10000, ContainerPort: 10000,

View File

@ -71,7 +71,9 @@ func newGCSDeployment(namespace, name string) *appsv1.Deployment {
Containers: []corev1.Container{ Containers: []corev1.Container{
{ {
Name: name, Name: name,
Image: "fsouza/fake-gcs-server:latest", // renovate: datasource=docker depName=fsouza/fake-gcs-server versioning=docker
// Version: 1.52.3
Image: "fsouza/fake-gcs-server@sha256:666f86b873120818b10a5e68d99401422fcf8b00c1f27fe89599c35236f48b4c",
Ports: []corev1.ContainerPort{ Ports: []corev1.ContainerPort{
{ {
ContainerPort: 4443, ContainerPort: 4443,

View File

@ -71,8 +71,9 @@ func newMinioDeployment(namespace, name string) *appsv1.Deployment {
Containers: []corev1.Container{ Containers: []corev1.Container{
{ {
Name: name, Name: name,
// TODO: renovate the image // renovate: datasource=docker depName=minio/minio versioning=docker
Image: "minio/minio:latest", // Version: RELEASE.2025-09-07T16-13-09Z
Image: "minio/minio@sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e",
Args: []string{"server", "/data"}, Args: []string{"server", "/data"},
Ports: []corev1.ContainerPort{ Ports: []corev1.ContainerPort{
{ {