Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wolfictl for openSUSE:Factory 
checked in at 2025-11-04 18:41:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wolfictl (Old)
 and      /work/SRC/openSUSE:Factory/.wolfictl.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wolfictl"

Tue Nov  4 18:41:36 2025 rev:18 rq:1315257 version:0.38.20

Changes:
--------
--- /work/SRC/openSUSE:Factory/wolfictl/wolfictl.changes        2025-10-21 
11:16:35.855239772 +0200
+++ /work/SRC/openSUSE:Factory/.wolfictl.new.1980/wolfictl.changes      
2025-11-04 18:42:02.592634348 +0100
@@ -1,0 +2,6 @@
+Mon Nov 03 09:15:59 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.38.20:
+  * lint: add linter for unused var-transform variables
+
+-------------------------------------------------------------------

Old:
----
  wolfictl-0.38.19.obscpio

New:
----
  wolfictl-0.38.20.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wolfictl.spec ++++++
--- /var/tmp/diff_new_pack.kNLGja/_old  2025-11-04 18:42:05.656763342 +0100
+++ /var/tmp/diff_new_pack.kNLGja/_new  2025-11-04 18:42:05.676764184 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           wolfictl
-Version:        0.38.19
+Version:        0.38.20
 Release:        0
 Summary:        A CLI used to work with the Wolfi OSS project
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.kNLGja/_old  2025-11-04 18:42:05.748767215 +0100
+++ /var/tmp/diff_new_pack.kNLGja/_new  2025-11-04 18:42:05.752767383 +0100
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="exclude">.git</param>
     <param name="revision">main</param>
-    <param name="versionformat">v0.38.19</param>
+    <param name="versionformat">v0.38.20</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kNLGja/_old  2025-11-04 18:42:05.788768899 +0100
+++ /var/tmp/diff_new_pack.kNLGja/_new  2025-11-04 18:42:05.816770077 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/wolfi-dev/wolfictl</param>
-              <param 
name="changesrevision">8b125ac708c6d1e99ef35881dbef6649129fe703</param></service></servicedata>
+              <param 
name="changesrevision">2bcb296d9f2c75fc2337a3eda9e8b4a3000ec5fc</param></service></servicedata>
 (No newline at EOF)
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/wolfictl/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.wolfictl.new.1980/vendor.tar.gz differ: char 13, 
line 1

++++++ wolfictl-0.38.19.obscpio -> wolfictl-0.38.20.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wolfictl-0.38.19/pkg/lint/rules.go 
new/wolfictl-0.38.20/pkg/lint/rules.go
--- old/wolfictl-0.38.19/pkg/lint/rules.go      2025-10-14 18:20:15.000000000 
+0200
+++ new/wolfictl-0.38.20/pkg/lint/rules.go      2025-10-29 13:22:12.000000000 
+0100
@@ -539,6 +539,43 @@
                                return err
                        },
                },
+               {
+                       Name:        "unused-var-transform",
+                       Description: "var-transforms that define variables 
which are never referenced",
+                       Severity:    SeverityWarning,
+                       LintFunc: func(cfg config.Configuration) error {
+                               // We need to check the raw YAML because 
ParseConfiguration already applies
+                               // variable substitutions, so the substituted 
values would be in the config.
+                               var unusedVars []string
+                               for _, vt := range cfg.VarTransforms {
+                                       varRef := fmt.Sprintf("${{vars.%s}}", 
vt.To)
+
+                                       // First check if this variable is used 
as input to another var-transform
+                                       usedInVarTransform := false
+                                       for _, other := range cfg.VarTransforms 
{
+                                               if other.From == varRef {
+                                                       usedInVarTransform = 
true
+                                                       break
+                                               }
+                                       }
+
+                                       // If used in another var-transform or 
found in the raw YAML, it's not unused
+                                       if usedInVarTransform || 
isVariableReferencedInRawYAML(cfg.Root(), varRef) {
+                                               continue
+                                       }
+
+                                       unusedVars = append(unusedVars, vt.To)
+                               }
+
+                               if len(unusedVars) > 0 {
+                                       if len(unusedVars) == 1 {
+                                               return 
fmt.Errorf("var-transform creates unused variable %q", unusedVars[0])
+                                       }
+                                       return fmt.Errorf("var-transform 
creates unused variables %q", unusedVars)
+                               }
+                               return nil
+                       },
+               },
 
                // If the git repository URL and update identifiers do not 
match then we
                // will fail to auto-update the package automagically.
@@ -663,3 +700,67 @@
        // Most pipelines won't have a URI.
        return "", nil
 }
+
+// isVariableReferencedInRawYAML checks if a variable reference (e.g., 
"${{vars.foo}}")
+// appears anywhere in the raw YAML configuration node tree, excluding the 
var-transforms
+// section itself (where variables are defined, not used).
+// This is necessary because ParseConfiguration applies variable substitutions,
+// so we need to check the original YAML to see if the variable was actually 
used.
+func isVariableReferencedInRawYAML(root *yaml.Node, varRef string) bool {
+       if root == nil {
+               return false
+       }
+
+       // Recursively walk the YAML node tree
+       var walkNode func(*yaml.Node, int) bool
+       walkNode = func(node *yaml.Node, depth int) bool {
+               if node == nil {
+                       return false
+               }
+
+               // For mapping nodes, check keys for "var-transforms"
+               if node.Kind == yaml.MappingNode {
+                       for i := 0; i < len(node.Content); i += 2 {
+                               key := node.Content[i]
+                               value := node.Content[i+1]
+
+                               // Skip the entire var-transforms section
+                               if key.Kind == yaml.ScalarNode && key.Value == 
"var-transforms" {
+                                       continue
+                               }
+
+                               // Recursively check other sections
+                               if walkNode(value, depth+1) {
+                                       return true
+                               }
+                       }
+                       return false
+               }
+
+               // For sequence nodes, check each element
+               if node.Kind == yaml.SequenceNode {
+                       for _, child := range node.Content {
+                               if walkNode(child, depth+1) {
+                                       return true
+                               }
+                       }
+                       return false
+               }
+
+               // Check if this node's value contains the variable reference
+               if node.Kind == yaml.ScalarNode && strings.Contains(node.Value, 
varRef) {
+                       return true
+               }
+
+               // For other node types, check children
+               for _, child := range node.Content {
+                       if walkNode(child, depth+1) {
+                               return true
+                       }
+               }
+
+               return false
+       }
+
+       return walkNode(root, 0)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wolfictl-0.38.19/pkg/lint/rules_test.go 
new/wolfictl-0.38.20/pkg/lint/rules_test.go
--- old/wolfictl-0.38.19/pkg/lint/rules_test.go 2025-10-14 18:20:15.000000000 
+0200
+++ new/wolfictl-0.38.20/pkg/lint/rules_test.go 2025-10-29 13:22:12.000000000 
+0100
@@ -617,6 +617,142 @@
                        wantErr:     false,
                        matches:     0,
                },
+               // var-transform tests
+               {
+                       file:        "var-transform-unused.yaml",
+                       minSeverity: SeverityWarning,
+                       want: EvalResult{
+                               File: "var-transform-unused",
+                               Errors: EvalRuleErrors{
+                                       {
+                                               Rule: Rule{
+                                                       Name:     
"unused-var-transform",
+                                                       Severity: 
SeverityWarning,
+                                               },
+                                               Error: 
fmt.Errorf("[unused-var-transform]: var-transform creates unused variable 
\"unused-version\" (WARNING)"),
+                                       },
+                               },
+                       },
+                       wantErr: false,
+                       matches: 1,
+               },
+               {
+                       file:        "var-transform-used.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        
"var-transform-multiple-partial-unused.yaml",
+                       minSeverity: SeverityWarning,
+                       want: EvalResult{
+                               File: "var-transform-multiple-partial-unused",
+                               Errors: EvalRuleErrors{
+                                       {
+                                               Rule: Rule{
+                                                       Name:     
"unused-var-transform",
+                                                       Severity: 
SeverityWarning,
+                                               },
+                                               Error: 
fmt.Errorf("[unused-var-transform]: var-transform creates unused variables 
[\"unused-name\" \"another-unused\"] (WARNING)"),
+                                       },
+                               },
+                       },
+                       wantErr: false,
+                       matches: 1,
+               },
+               {
+                       file:        "var-transform-used-in-subpackage.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        "var-transform-used-in-with.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        "var-transform-used-in-test-env.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        "var-transform-used-in-test-packages.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        "var-transform-chained-second-unused.yaml",
+                       minSeverity: SeverityWarning,
+                       want: EvalResult{
+                               File: "var-transform-chained-second-unused",
+                               Errors: EvalRuleErrors{
+                                       {
+                                               Rule: Rule{
+                                                       Name:     
"unused-var-transform",
+                                                       Severity: 
SeverityWarning,
+                                               },
+                                               Error: 
fmt.Errorf("[unused-var-transform]: var-transform creates unused variable 
\"second-transform-unused\" (WARNING)"),
+                                       },
+                               },
+                       },
+                       wantErr: false,
+                       matches: 1,
+               },
+               {
+                       file:        "var-transform-chained-both-used.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        
"var-transform-wrong-syntax-not-matched.yaml",
+                       minSeverity: SeverityWarning,
+                       want: EvalResult{
+                               File: "var-transform-wrong-syntax-not-matched",
+                               Errors: EvalRuleErrors{
+                                       {
+                                               Rule: Rule{
+                                                       Name:     
"unused-var-transform",
+                                                       Severity: 
SeverityWarning,
+                                               },
+                                               Error: 
fmt.Errorf("[unused-var-transform]: var-transform creates unused variable 
\"my-version\" (WARNING)"),
+                                       },
+                               },
+                       },
+                       wantErr: false,
+                       matches: 1,
+               },
+               {
+                       file:        "var-transform-used-in-runtime-deps.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        "var-transform-used-in-env-packages.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
+               {
+                       file:        
"var-transform-chained-first-only-in-second.yaml",
+                       minSeverity: SeverityWarning,
+                       want:        EvalResult{},
+                       wantErr:     false,
+                       matches:     0,
+               },
        }
 
        for _, tt := range tests {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-both-used.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-both-used.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-both-used.yaml
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-both-used.yaml
   2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,33 @@
+package:
+  name: var-transform-chained-both-used
+  version: 1.2.3
+  epoch: 0
+  description: Test chained var-transforms where both are used
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: first-transform
+  - from: ${{vars.first-transform}}
+    match: _
+    replace: '-'
+    to: second-transform
+
+pipeline:
+  - runs: |
+      echo "first: ${{vars.first-transform}}"
+      echo "second: ${{vars.second-transform}}"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-first-only-in-second.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-first-only-in-second.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-first-only-in-second.yaml
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-first-only-in-second.yaml
        2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,31 @@
+package:
+  name: var-transform-chained-first-only-in-second
+  version: 1.2.3
+  epoch: 0
+  description: Test chained var-transforms where first is only used as input 
to second
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: first-transform
+  - from: ${{vars.first-transform}}
+    match: _
+    replace: '-'
+    to: second-transform
+
+pipeline:
+  - runs: 'echo "using second: ${{vars.second-transform}}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-second-unused.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-second-unused.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-chained-second-unused.yaml
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-chained-second-unused.yaml
       2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,31 @@
+package:
+  name: var-transform-chained-second-unused
+  version: 1.2.3
+  epoch: 0
+  description: Test chained var-transforms where second is unused
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: first-transform
+  - from: ${{vars.first-transform}}
+    match: _
+    replace: '-'
+    to: second-transform-unused
+
+pipeline:
+  - runs: 'echo "using first: ${{vars.first-transform}}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-multiple-partial-unused.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-multiple-partial-unused.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-multiple-partial-unused.yaml
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-multiple-partial-unused.yaml
     2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,35 @@
+package:
+  name: var-transform-multiple-partial-unused
+  version: 1.2.3
+  epoch: 0
+  description: Test package with multiple var-transforms, some unused
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: used-version
+  - from: ${{package.name}}
+    match: '-'
+    replace: _
+    to: unused-name
+  - from: ${{package.version}}
+    match: \.
+    replace: "-"
+    to: another-unused
+
+pipeline:
+  - runs: 'echo "using version: ${{vars.used-version}}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-unused.yaml 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-unused.yaml
--- old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-unused.yaml      
1970-01-01 01:00:00.000000000 +0100
+++ new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-unused.yaml      
2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,27 @@
+package:
+  name: var-transform-unused
+  version: 1.2.3
+  epoch: 0
+  description: Test package with unused var-transform
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: unused-version
+
+pipeline:
+  - runs: echo "version is ${{package.version}}"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-env-packages.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-env-packages.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-env-packages.yaml
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-env-packages.yaml
        2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,29 @@
+package:
+  name: var-transform-used-in-env-packages
+  version: 3.11.2
+  epoch: 0
+  description: Test package with var-transform used in environment packages
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+      - python-${{vars.python-mm}}
+      - python-${{vars.python-mm}}-dev
+
+var-transforms:
+  - from: ${{package.version}}
+    match: ^(\d+\.\d+)\..*
+    replace: $1
+    to: python-mm
+
+pipeline:
+  - runs: echo "building with python ${{vars.python-mm}}"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-runtime-deps.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-runtime-deps.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-runtime-deps.yaml
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-runtime-deps.yaml
        2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,31 @@
+package:
+  name: var-transform-used-in-runtime-deps
+  version: 1.2.3
+  epoch: 0
+  description: Test package with var-transform used in runtime dependencies
+  copyright:
+    - license: MIT
+  dependencies:
+    runtime:
+      - build-base
+      - ruby-${{vars.ruby-version}}
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: ^(\d+)\..*
+    replace: $1
+    to: ruby-version
+
+pipeline:
+  - runs: echo "main package"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-subpackage.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-subpackage.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-subpackage.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-subpackage.yaml
  2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,33 @@
+package:
+  name: var-transform-used-in-subpackage
+  version: 1.2.3
+  epoch: 0
+  description: Test package with var-transform used in subpackage
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: (\d).(\d+).(\d+)
+    replace: "$1.$2"
+    to: short-version
+
+pipeline:
+  - runs: echo "main package"
+
+subpackages:
+  - name: var-transform-used-in-subpackage-dev
+    description: Development files
+    pipeline:
+      - runs: 'echo "short version: ${{vars.short-version}}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-test-env.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-test-env.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-test-env.yaml
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-test-env.yaml
    2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,34 @@
+package:
+  name: var-transform-used-in-test-env
+  version: 1.2.3
+  epoch: 0
+  description: Test package with var-transform used in test environment 
variable
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: (\d).(\d+).(\d+)
+    replace: "$1.$2"
+    to: short-version
+
+pipeline:
+  - runs: echo "building"
+
+test:
+  environment:
+    environment:
+      MY_VERSION: ${{vars.short-version}}
+  pipeline:
+    - runs: echo "Testing with version $MY_VERSION"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-test-packages.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-test-packages.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-test-packages.yaml
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-test-packages.yaml
       2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,35 @@
+package:
+  name: var-transform-used-in-test-packages
+  version: 1.2.3
+  epoch: 0
+  description: Test package with var-transform used in test environment 
packages
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: (\d).(\d+).(\d+)
+    replace: "$1.$2"
+    to: short-version
+
+pipeline:
+  - runs: echo "building"
+
+test:
+  environment:
+    contents:
+      packages:
+        - test-dep-${{vars.short-version}}
+  pipeline:
+    - runs: echo "testing"
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-with.yaml 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-with.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used-in-with.yaml    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used-in-with.yaml    
    2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,31 @@
+package:
+  name: var-transform-used-in-with
+  version: 1.2.3
+  epoch: 0
+  description: Test package with var-transform used in pipeline with parameter
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: tag-version
+
+pipeline:
+  - uses: git-checkout
+    with:
+      repository: https://github.com/example/repo
+      tag: v${{vars.tag-version}}
+      expected-commit: abc123def456789012345678901234567890abcd
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used.yaml 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used.yaml
--- old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-used.yaml        
1970-01-01 01:00:00.000000000 +0100
+++ new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-used.yaml        
2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,27 @@
+package:
+  name: var-transform-used
+  version: 1.2.3
+  epoch: 0
+  description: Test package with used var-transform
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: mangled-version
+
+pipeline:
+  - runs: 'echo "mangled version: ${{vars.mangled-version}}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-wrong-syntax-not-matched.yaml
 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-wrong-syntax-not-matched.yaml
--- 
old/wolfictl-0.38.19/pkg/lint/testdata/files/var-transform-wrong-syntax-not-matched.yaml
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/wolfictl-0.38.20/pkg/lint/testdata/files/var-transform-wrong-syntax-not-matched.yaml
    2025-10-29 13:22:12.000000000 +0100
@@ -0,0 +1,35 @@
+package:
+  name: var-transform-wrong-syntax-not-matched
+  version: 1.2.3
+  epoch: 0
+  description: Test that wrong syntax doesn't satisfy the linter
+  copyright:
+    - license: MIT
+
+environment:
+  contents:
+    packages:
+      - build-base
+      - busybox
+
+var-transforms:
+  - from: ${{package.version}}
+    match: \.
+    replace: _
+    to: my-version
+
+pipeline:
+  # These are all WRONG syntax and should NOT satisfy the linter:
+  # Missing 'vars.' prefix
+  - runs: 'echo "wrong1: ${{my-version}}"'
+  # Wrong delimiters (single braces)
+  - runs: 'echo "wrong2: ${vars.my-version}"'
+  # Wrong delimiters (no braces)
+  - runs: 'echo "wrong3: $vars.my-version"'
+  # Shell variable (not template variable)
+  - runs: 'echo "wrong4: ${my_version}"'
+
+update:
+  enabled: true
+  github:
+    identifier: example/repo

++++++ wolfictl.obsinfo ++++++
--- /var/tmp/diff_new_pack.kNLGja/_old  2025-11-04 18:42:08.984903450 +0100
+++ /var/tmp/diff_new_pack.kNLGja/_new  2025-11-04 18:42:09.032905471 +0100
@@ -1,5 +1,5 @@
 name: wolfictl
-version: 0.38.19
-mtime: 1760458815
-commit: 8b125ac708c6d1e99ef35881dbef6649129fe703
+version: 0.38.20
+mtime: 1761740532
+commit: 2bcb296d9f2c75fc2337a3eda9e8b4a3000ec5fc
 

Reply via email to