@@ -14,6 +14,7 @@ import (
14
14
"math/big"
15
15
"os"
16
16
"path"
17
+ "regexp"
17
18
"runtime"
18
19
"strconv"
19
20
"strings"
@@ -648,19 +649,19 @@ func importExport(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Con
648
649
// remove line that starts with comment character '#' and newline after
649
650
generated = generated [strings .Index (generated , "\n " )+ 2 :]
650
651
651
- // Normalize both YAMLs by removing IDs before comparison
652
- // IDs are server-generated and not stable across import/export
653
- expectedNormalized , err := normalizeYAMLForComparison ( expected )
654
- if err != nil {
655
- return fmt . Errorf ( "normalizing expected YAML: %w" , err )
656
- }
652
+ // Remove ID fields from constraints and rollouts before comparison
653
+ // IDs are server-generated UUIDs and not stable across import/export
654
+ // Using regex to remove id: lines from the YAML
655
+ idLineRegex := regexp . MustCompile ( `(?m)^\s*- id: "[^"]*"\n` )
656
+ expected = idLineRegex . ReplaceAllString ( expected , "" )
657
+ generated = idLineRegex . ReplaceAllString ( generated , "" )
657
658
658
- generatedNormalized , err := normalizeYAMLForComparison ( generated )
659
- if err != nil {
660
- return fmt . Errorf ( "normalizing generated YAML: %w" , err )
661
- }
659
+ // Also handle case where id is not first in the list
660
+ idFieldRegex := regexp . MustCompile ( `(?m)^\s+id: "[^"]*"\n` )
661
+ expected = idFieldRegex . ReplaceAllString ( expected , "" )
662
+ generated = idFieldRegex . ReplaceAllString ( generated , "" )
662
663
663
- diff := cmp .Diff (expectedNormalized , generatedNormalized )
664
+ diff := cmp .Diff (expected , generated )
664
665
if diff != "" {
665
666
fmt .Printf ("Unexpected difference in %q exported output: \n " , conf .name )
666
667
fmt .Println (diff )
0 commit comments