Skip to content

Conversation

snakster
Copy link
Contributor

@snakster snakster commented Sep 1, 2025

What this PR does / why we need it:

This PR adds a convenience function tm_slug(t) that is equivalent to replace(lower(t), "/[^a-z0-9_]/", "-").
It can be used to sanitze characters that are not valid in identifiers.

Does this PR introduce a user-facing change?

yes, it adds a new terraform function.

Copy link

github-actions bot commented Sep 1, 2025

toolsetPath: /tmp/cmd-terramate-test-1391398003
=== RUN   TestInteropCloudSyncPreview
=== RUN   TestInteropCloudSyncPreview/preview:_basic-drift
    interoperability_test.go:47: using GITHUB_EVENT_FILE=/home/runner/work/_temp/_github_workflow/event.json
=== RUN   TestInteropCloudSyncPreview/preview:_basic-drift-uppercase-id
    interoperability_test.go:47: using GITHUB_EVENT_FILE=/home/runner/work/_temp/_github_workflow/event.json
--- PASS: TestInteropCloudSyncPreview (14.82s)
    --- PASS: TestInteropCloudSyncPreview/preview:_basic-drift (7.45s)
    --- PASS: TestInteropCloudSyncPreview/preview:_basic-drift-uppercase-id (7.37s)
=== RUN   TestInteropSyncDeployment
=== RUN   TestInteropSyncDeployment/deployment:_empty
=== RUN   TestInteropSyncDeployment/deployment:_empty-uppercase-id
--- PASS: TestInteropSyncDeployment (48.23s)
    --- PASS: TestInteropSyncDeployment/deployment:_empty (23.91s)
    --- PASS: TestInteropSyncDeployment/deployment:_empty-uppercase-id (24.33s)
=== RUN   TestInteropDrift
=== RUN   TestInteropDrift/drift:_basic-drift
=== RUN   TestInteropDrift/drift:_basic-drift-uppercase-id
--- PASS: TestInteropDrift (77.79s)
    --- PASS: TestInteropDrift/drift:_basic-drift (39.06s)
    --- PASS: TestInteropDrift/drift:_basic-drift-uppercase-id (38.72s)
PASS
ok  	github.com/terramate-io/terramate/e2etests/cloud/interop	198.139s

Copy link

github-actions bot commented Sep 1, 2025

metric: time/op
ChangeDetection-4: old 3.94ms ± 5%: new 3.95ms ± 4%: delta: 0.00%
ChangeDetectionTFAndTG-4: old 3.84ms ± 3%: new 3.79ms ± 5%: delta: 0.00%
CloudReadLines-4: old 1.13ms ± 8%: new 1.15ms ± 4%: delta: 0.00%
CloudReadLine-4: old 6.90ms ± 2%: new 6.90ms ± 3%: delta: 0.00%
ListFiles-4: old 86.4µs ± 1%: new 86.2µs ± 2%: delta: 0.00%
Generate-4: old 1.54s ± 3%: new 1.55s ± 2%: delta: 0.00%
GenerateRegex-4: old 1.05s ± 4%: new 1.04s ± 3%: delta: 0.00%
TokensForExpressionComplex-4: old 1.25ms ± 2%: new 1.25ms ± 0%: delta: 0.00%
TokensForExpressionPlainStringNoNewline-4: old 695ns ± 1%: new 695ns ± 1%: delta: 0.00%
TokensForExpressionStringWith100Newlines-4: old 20.6µs ± 1%: new 20.5µs ± 1%: delta: -0.51%
TokensForExpressionObjectWith100KeysWithNumberValues-4: old 1.45ms ± 0%: new 1.44ms ± 0%: delta: -0.32%
TokensForExpression-4: old 1.25ms ± 1%: new 1.25ms ± 0%: delta: 0.00%
PartialEvalComplex-4: old 540µs ± 1%: new 539µs ± 1%: delta: 0.00%
PartialEvalSmallString-4: old 4.00µs ± 1%: new 3.97µs ± 0%: delta: -0.60%
PartialEvalHugeString-4: old 2.07ms ± 0%: new 2.06ms ± 0%: delta: -0.46%
PartialEvalHugeInterpolatedString-4: old 5.05ms ± 1%: new 5.02ms ± 1%: delta: -0.59%
PartialEvalObject-4: old 26.5µs ± 1%: new 26.6µs ± 1%: delta: 0.49%
TmAllTrueLiteralList-4: old 626µs ± 2%: new 624µs ± 1%: delta: 0.00%
TmAllTrueFuncall-4: old 19.4µs ± 2%: new 19.2µs ± 1%: delta: -1.17%
TmAnyTrueLiteralList-4: old 4.87ms ± 1%: new 4.81ms ± 0%: delta: -1.08%
TmAnyTrueFuncall-4: old 19.5µs ± 1%: new 19.5µs ± 1%: delta: 0.00%
TmTernary-4: old 2.36µs ± 2%: new 2.31µs ± 1%: delta: -1.91%
TmTryUnknownFunc-4: old 2.09µs ± 1%: new 2.05µs ± 0%: delta: -2.04%
TmTryUnknownVariable-4: old 2.00µs ± 1%: new 1.97µs ± 1%: delta: -1.57%
TmTryUnknownObjectKey-4: old 2.31µs ± 1%: new 2.28µs ± 0%: delta: -1.09%
ModuleDiscovery-4: old 100ms ± 7%: new 98ms ± 4%: delta: -1.89%
metric: alloc/op
ChangeDetection-4: old 358kB ± 0%: new 358kB ± 0%: delta: 0.00%
ChangeDetectionTFAndTG-4: old 247kB ± 1%: new 247kB ± 0%: delta: 0.00%
CloudReadLines-4: old 3.12MB ± 0%: new 3.12MB ± 0%: delta: 0.00%
CloudReadLine-4: old 3.37MB ± 0%: new 3.37MB ± 0%: delta: 0.00%
ListFiles-4: old 27.6kB ± 0%: new 27.6kB ± 0%: delta: 0.00%
Generate-4: old 2.23GB ± 0%: new 2.23GB ± 0%: delta: 0.00%
GenerateRegex-4: old 926MB ± 0%: new 926MB ± 0%: delta: 0.00%
TokensForExpressionComplex-4: old 394kB ± 0%: new 394kB ± 0%: delta: 0.00%
TokensForExpressionPlainStringNoNewline-4: old 512B ± 0%: new 512B ± 0%: delta: 0.00%
TokensForExpressionStringWith100Newlines-4: old 12.5kB ± 0%: new 12.5kB ± 0%: delta: 0.00%
TokensForExpressionObjectWith100KeysWithNumberValues-4: old 395kB ± 0%: new 395kB ± 0%: delta: -0.00%
TokensForExpression-4: old 394kB ± 0%: new 394kB ± 0%: delta: 0.00%
PartialEvalComplex-4: old 361kB ± 0%: new 361kB ± 0%: delta: 0.00%
PartialEvalSmallString-4: old 1.95kB ± 0%: new 1.95kB ± 0%: delta: 0.00%
PartialEvalHugeString-4: old 196kB ± 0%: new 196kB ± 0%: delta: 0.00%
PartialEvalHugeInterpolatedString-4: old 4.31MB ± 0%: new 4.31MB ± 0%: delta: 0.00%
PartialEvalObject-4: old 19.4kB ± 0%: new 19.4kB ± 0%: delta: 0.00%
TmAllTrueLiteralList-4: old 321kB ± 0%: new 321kB ± 0%: delta: 0.00%
TmAllTrueFuncall-4: old 10.6kB ± 0%: new 10.6kB ± 0%: delta: 0.00%
TmAnyTrueLiteralList-4: old 2.09MB ± 0%: new 2.09MB ± 0%: delta: 0.00%
TmAnyTrueFuncall-4: old 10.7kB ± 0%: new 10.7kB ± 0%: delta: 0.00%
TmTernary-4: old 1.18kB ± 0%: new 1.18kB ± 0%: delta: 0.00%
TmTryUnknownFunc-4: old 784B ± 0%: new 784B ± 0%: delta: 0.00%
TmTryUnknownVariable-4: old 768B ± 0%: new 768B ± 0%: delta: 0.00%
TmTryUnknownObjectKey-4: old 952B ± 0%: new 952B ± 0%: delta: 0.00%
ModuleDiscovery-4: old 68.7MB ± 0%: new 68.7MB ± 0%: delta: 0.00%
metric: allocs/op
ChangeDetection-4: old 2.48k ± 0%: new 2.48k ± 0%: delta: 0.00%
ChangeDetectionTFAndTG-4: old 1.56k ± 0%: new 1.56k ± 0%: delta: 0.00%
CloudReadLines-4: old 5.54k ± 0%: new 5.54k ± 0%: delta: 0.00%
CloudReadLine-4: old 60.0k ± 0%: new 60.0k ± 0%: delta: 0.00%
ListFiles-4: old 335 ± 0%: new 335 ± 0%: delta: 0.00%
Generate-4: old 25.7M ± 0%: new 25.7M ± 0%: delta: 0.00%
GenerateRegex-4: old 18.4M ± 0%: new 18.4M ± 0%: delta: 0.00%
TokensForExpressionComplex-4: old 4.83k ± 0%: new 4.83k ± 0%: delta: 0.00%
TokensForExpressionPlainStringNoNewline-4: old 20.0 ± 0%: new 20.0 ± 0%: delta: 0.00%
TokensForExpressionStringWith100Newlines-4: old 227 ± 0%: new 227 ± 0%: delta: 0.00%
TokensForExpressionObjectWith100KeysWithNumberValues-4: old 3.19k ± 0%: new 3.19k ± 0%: delta: 0.00%
TokensForExpression-4: old 4.83k ± 0%: new 4.83k ± 0%: delta: 0.00%
PartialEvalComplex-4: old 3.78k ± 0%: new 3.78k ± 0%: delta: 0.00%
PartialEvalSmallString-4: old 26.0 ± 0%: new 26.0 ± 0%: delta: 0.00%
PartialEvalHugeString-4: old 38.0 ± 0%: new 38.0 ± 0%: delta: 0.00%
PartialEvalHugeInterpolatedString-4: old 26.1k ± 0%: new 26.1k ± 0%: delta: 0.00%
PartialEvalObject-4: old 183 ± 0%: new 183 ± 0%: delta: 0.00%
TmAllTrueLiteralList-4: old 5.94k ± 0%: new 5.94k ± 0%: delta: 0.00%
TmAllTrueFuncall-4: old 275 ± 0%: new 275 ± 0%: delta: 0.00%
TmAnyTrueLiteralList-4: old 59.6k ± 0%: new 59.6k ± 0%: delta: 0.00%
TmAnyTrueFuncall-4: old 277 ± 0%: new 277 ± 0%: delta: 0.00%
TmTernary-4: old 27.0 ± 0%: new 27.0 ± 0%: delta: 0.00%
TmTryUnknownFunc-4: old 21.0 ± 0%: new 21.0 ± 0%: delta: 0.00%
TmTryUnknownVariable-4: old 20.0 ± 0%: new 20.0 ± 0%: delta: 0.00%
TmTryUnknownObjectKey-4: old 23.0 ± 0%: new 23.0 ± 0%: delta: 0.00%
ModuleDiscovery-4: old 417k ± 0%: new 417k ± 0%: delta: -0.02%

Copy link

github-actions bot commented Sep 1, 2025

Preview of ubuntu/go tests in bad408c

🔍 View Details on Terramate Cloud

.
stdlib

Copy link

github-actions bot commented Sep 1, 2025

Preview of macos-ventura/go tests in bad408c

🔍 View Details on Terramate Cloud

.
stdlib

@snakster snakster marked this pull request as ready for review September 2, 2025 08:27
@snakster snakster requested a review from a team as a code owner September 2, 2025 08:27
sixstone-qq
sixstone-qq previously approved these changes Sep 2, 2025
Copy link
Contributor

@sixstone-qq sixstone-qq left a comment

Choose a reason for hiding this comment

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

LGTM

@snakster snakster merged commit 2e682e4 into main Sep 2, 2025
8 checks passed
@snakster snakster deleted the snk-add-tm-slug branch September 2, 2025 13:41
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