@@ -381,6 +381,39 @@ func writeFrontMatter(t *testing.T, out io.Writer, keyVals map[string]string) {
381
381
}
382
382
383
383
func extractVersion (t * testing.T , root string ) * semver.Version {
384
+ if v := extractVersionFile (t , root ); v != nil {
385
+ return v
386
+ } else {
387
+ t .Logf ("Unable to get Version from file, fallback to git" )
388
+ }
389
+
390
+ if v := extractVersionGit (t , root ); v != nil {
391
+ return v
392
+ } else {
393
+ t .Logf ("Unable to get Version from Git" )
394
+ }
395
+
396
+ require .FailNow (t , "Unable to get version" )
397
+
398
+ return nil
399
+ }
400
+
401
+ func extractVersionFile (t * testing.T , root string ) * semver.Version {
402
+ data , err := os .ReadFile (path .Join (root , "VERSION" ))
403
+ require .NoError (t , err )
404
+
405
+ v := strings .TrimSpace (string (data ))
406
+ sm , err := semver .NewVersion (v )
407
+ require .NoError (t , err )
408
+
409
+ if v := sm .PreRelease .Slice (); len (v ) > 0 && v [0 ] != "" {
410
+ return nil
411
+ }
412
+
413
+ return sm
414
+ }
415
+
416
+ func extractVersionGit (t * testing.T , root string ) * semver.Version {
384
417
cmd := exec .Command ("git" , "tag" , "--list" )
385
418
cmd .Dir = root
386
419
@@ -410,12 +443,12 @@ func extractVersion(t *testing.T, root string) *semver.Version {
410
443
411
444
require .NoError (t , cmd .Wait ())
412
445
413
- sort .Sort (versions )
414
-
415
446
if len (versions ) == 0 {
416
- require . Fail ( t , "Required at least one version" )
447
+ return nil
417
448
}
418
449
450
+ sort .Sort (versions )
451
+
419
452
return versions [len (versions )- 1 ]
420
453
}
421
454
0 commit comments