Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(localstack): more reliable legacy tag detection #2936

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

NathanBaulch
Copy link

What does this PR do?

Improves the internal isLegacyMode function to handle all tag conventions used by localstack.

Why is it important?

I'm currently unable to use the much smaller localstack/localstack:s3-latest image tag because it's incorrectly detected as a legacy version.

How to test this PR

Unit test included.

@NathanBaulch NathanBaulch requested a review from a team as a code owner January 10, 2025 11:27
Copy link

netlify bot commented Jan 10, 2025

Deploy Preview for testcontainers-go ready!

Name Link
🔨 Latest commit 09e009d
🔍 Latest deploy log https://app.netlify.com/sites/testcontainers-go/deploys/678198be49707b0008d93125
😎 Deploy Preview https://deploy-preview-2936--testcontainers-go.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@NathanBaulch NathanBaulch force-pushed the fix-localstack-legacy branch from 4d651db to c8dd734 Compare January 10, 2025 11:28
@NathanBaulch NathanBaulch changed the title fix(localstack): More reliable legacy tag detection fix(localstack): more reliable legacy tag detection Jan 10, 2025
Copy link
Member

@mdelapenya mdelapenya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution, added a comment regarding the non-legacy tags

version = version[0:pos]
}

if version == "latest" || version == "s3" || version == "s3-latest" || version == "stable" {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: we could add an slice of valid non-legacy versions at the top of the file. Here we would just look up the used version to verify if it's legacy. Wdyt?

Copy link
Author

@NathanBaulch NathanBaulch Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you suggesting every legacy version is simply hard coded in a slice? It looks like there are 31 versions prior to v0.11, plus the following unconventional tags that I have no idea about:

Copy link
Author

@NathanBaulch NathanBaulch Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's a much simpler implementation that actually works for all test cases except for the dummy "foo" one.

func isLegacyMode(image string) bool {
	return strings.Compare(image, "localstack/localstack:0.11") < 0
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you suggesting every legacy version is simply hard coded in a slice? It looks like there are 31 versions prior to v0.11, plus the following unconventional tags that I have no idea aboutAre you suggesting every legacy version

No, just the ones in the if branch:

if version == "latest" || version == "s3" || version == "s3-latest" || version == "stable"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, done. I've also fixed the isVersion2 function along with unit tests.

@NathanBaulch
Copy link
Author

NathanBaulch commented Jan 10, 2025

I just noticed the isVersion2 function which has similar issues.

@NathanBaulch NathanBaulch force-pushed the fix-localstack-legacy branch from 299ea0c to c8dd734 Compare January 10, 2025 12:18
@NathanBaulch NathanBaulch force-pushed the fix-localstack-legacy branch from c8dd734 to 09e009d Compare January 10, 2025 22:01
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