internal/rosa: create metadata alongside artifact
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m45s
Test / ShareFS (push) Successful in 3m47s
Test / Hakurei (push) Successful in 4m0s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m21s
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m45s
Test / ShareFS (push) Successful in 3m47s
Test / Hakurei (push) Successful in 4m0s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m21s
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -118,7 +118,7 @@ func main() {
|
||||
rosa.Native().DropCaches("", flags)
|
||||
cross := flagArch != "" && flagArch != runtime.GOARCH
|
||||
if flagQEMU || cross {
|
||||
cm.qemu, _ = rosa.Native().Std().Load(rosa.QEMU)
|
||||
_, cm.qemu = rosa.Native().Std().MustLoad(rosa.QEMU)
|
||||
}
|
||||
|
||||
if cross {
|
||||
@@ -358,7 +358,7 @@ func main() {
|
||||
for range max(flagJobs, 1) {
|
||||
wg.Go(func() {
|
||||
for p := range w {
|
||||
meta := rosa.Native().MustGet(p)
|
||||
meta, _ := rosa.Native().Std().MustLoad(p)
|
||||
if meta.ID == 0 {
|
||||
continue
|
||||
}
|
||||
@@ -371,13 +371,9 @@ func main() {
|
||||
continue
|
||||
}
|
||||
|
||||
_, version := rosa.Native().Std().Load(p)
|
||||
if current, latest :=
|
||||
version,
|
||||
meta.GetLatest(v); current != latest {
|
||||
|
||||
if latest := meta.GetLatest(v); meta.Version != latest {
|
||||
n.Add(1)
|
||||
log.Printf("%s %s < %s", meta.Name, current, latest)
|
||||
log.Printf("%s %s < %s", meta.Name, meta.Version, latest)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -453,7 +449,7 @@ func main() {
|
||||
)
|
||||
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().New(s - 2).Load(rosa.LLVM)
|
||||
_, llvm := rosa.Native().New(s - 2).Load(rosa.LLVM)
|
||||
pathname, _, err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -462,7 +458,7 @@ func main() {
|
||||
log.Println("stage1:", pathname)
|
||||
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().New(s - 1).Load(rosa.LLVM)
|
||||
_, llvm := rosa.Native().New(s - 1).Load(rosa.LLVM)
|
||||
pathname, checksum[0], err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -470,7 +466,7 @@ func main() {
|
||||
}
|
||||
log.Println("stage2:", pathname)
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().New(s).Load(rosa.LLVM)
|
||||
_, llvm := rosa.Native().New(s).Load(rosa.LLVM)
|
||||
pathname, checksum[1], err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -492,7 +488,7 @@ func main() {
|
||||
|
||||
if flagStage0 {
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
stage0, _ := rosa.Native().New(s).Load(rosa.Stage0)
|
||||
_, stage0 := rosa.Native().New(s).Load(rosa.Stage0)
|
||||
pathname, _, err = cache.Cure(stage0)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -546,7 +542,7 @@ func main() {
|
||||
t -= 1
|
||||
}
|
||||
|
||||
a, _ := rosa.Native().New(t).Load(rosa.ArtifactH(unique.Make(args[0])))
|
||||
_, a := rosa.Native().New(t).Load(rosa.ArtifactH(unique.Make(args[0])))
|
||||
if a == nil {
|
||||
return fmt.Errorf("unknown artifact %q", args[0])
|
||||
}
|
||||
@@ -762,7 +758,7 @@ func main() {
|
||||
handles := make([]rosa.ArtifactH, len(args)+3)
|
||||
for i, arg := range args {
|
||||
handles[i] = rosa.ArtifactH(unique.Make(arg))
|
||||
if rosa.Native().Get(handles[i]) == nil {
|
||||
if meta, _ := rosa.Native().Std().Load(handles[i]); meta == nil {
|
||||
return fmt.Errorf("unknown artifact %q", arg)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user