internal/rosa: read overridden version string from source
Test / Create distribution (push) Successful in 54s
Test / Sandbox (push) Successful in 3m2s
Test / ShareFS (push) Successful in 4m2s
Test / Hakurei (push) Successful in 4m10s
Test / Sandbox (race detector) (push) Successful in 5m31s
Test / Hakurei (race detector) (push) Successful in 6m42s
Test / Flake checks (push) Successful in 1m7s
Test / Create distribution (push) Successful in 54s
Test / Sandbox (push) Successful in 3m2s
Test / ShareFS (push) Successful in 4m2s
Test / Hakurei (push) Successful in 4m10s
Test / Sandbox (race detector) (push) Successful in 5m31s
Test / Hakurei (race detector) (push) Successful in 6m42s
Test / Flake checks (push) Successful in 1m7s
This is more correct than the hardcoded string and is generally more robust against relative paths. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
+12
-1
@@ -7,6 +7,7 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"iter"
|
||||
@@ -1255,6 +1256,16 @@ func (s *S) RegisterFS(fsys fs.FS) error {
|
||||
// The resulting IR is curable on the daemon. Must not be used concurrently with
|
||||
// any other method.
|
||||
func (s *S) SetSource(fsys fs.FS) error {
|
||||
var version string
|
||||
if p, err := fs.ReadFile(fsys, "cmd/dist/VERSION"); err != nil {
|
||||
return err
|
||||
} else if len(p) < 2 {
|
||||
return fmt.Errorf("invalid version string %q", string(p))
|
||||
} else {
|
||||
version = unsafe.String(unsafe.SliceData(p), len(p))
|
||||
}
|
||||
version = version[1:len(version)-1] + "-CURRENT"
|
||||
|
||||
var buf bytes.Buffer
|
||||
w, err := gzip.NewWriterLevel(&buf, gzip.BestSpeed)
|
||||
if err != nil {
|
||||
@@ -1326,7 +1337,7 @@ func (s *S) SetSource(fsys fs.FS) error {
|
||||
return &Metadata{
|
||||
Name: name,
|
||||
Description: "hakurei source tree (current)",
|
||||
Version: "1.0.0-CURRENT",
|
||||
Version: version,
|
||||
Exclude: true,
|
||||
}, pkg.NewTar(pkg.NewDecompress(a, pkg.Gzip))
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user