mirror of
https://github.com/mudler/luet.git
synced 2025-08-14 13:33:51 +00:00
Fixup race when updating compiler options
Instead of updating the compiler options that can be accessed by each worker, update the compilespec BuildOptions directly
This commit is contained in:
parent
a73f5f9b65
commit
7bfff97f57
@ -474,7 +474,7 @@ func (cs *LuetCompiler) genArtifact(p *compilerspec.LuetCompilationSpec, builder
|
|||||||
|
|
||||||
filelist, err := a.FileList()
|
filelist, err := a.FileList()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return a, errors.Wrap(err, "Failed getting package list")
|
return a, errors.Wrapf(err, "Failed getting package list for '%s' '%s'", a.Path, a.CompileSpec.Package.HumanReadableString())
|
||||||
}
|
}
|
||||||
|
|
||||||
a.Files = filelist
|
a.Files = filelist
|
||||||
@ -802,7 +802,7 @@ func (cs *LuetCompiler) compile(concurrency int, keepPermissions bool, p *compil
|
|||||||
// Update compilespec build options - it will be then serialized into the compilation metadata file
|
// Update compilespec build options - it will be then serialized into the compilation metadata file
|
||||||
//p.SetBuildOptions(cs.Options)
|
//p.SetBuildOptions(cs.Options)
|
||||||
p.BuildOptions.PushImageRepository = cs.Options.PushImageRepository
|
p.BuildOptions.PushImageRepository = cs.Options.PushImageRepository
|
||||||
p.BuildOptions.BuildValues = cs.Options.BuildValues
|
//p.BuildOptions.BuildValues = cs.Options.BuildValues
|
||||||
//p.BuildOptions.BuildValuesFile = cs.Options.BuildValuesFile
|
//p.BuildOptions.BuildValuesFile = cs.Options.BuildValuesFile
|
||||||
|
|
||||||
// - If image is set we just generate a plain dockerfile
|
// - If image is set we just generate a plain dockerfile
|
||||||
@ -922,18 +922,11 @@ func (cs *LuetCompiler) compile(concurrency int, keepPermissions bool, p *compil
|
|||||||
|
|
||||||
type templatedata map[string]interface{}
|
type templatedata map[string]interface{}
|
||||||
|
|
||||||
func (cs *LuetCompiler) templatePackage(vals []map[string]interface{}, pack pkg.Package) ([]byte, error) {
|
func (cs *LuetCompiler) templatePackage(vals []map[string]interface{}, pack pkg.Package, dst templatedata) ([]byte, error) {
|
||||||
|
|
||||||
var dataresult []byte
|
var dataresult []byte
|
||||||
val := pack.Rel(DefinitionFile)
|
val := pack.Rel(DefinitionFile)
|
||||||
|
|
||||||
// Update processed build values
|
|
||||||
dst, err := helpers.UnMarshalValues(cs.Options.BuildValuesFile)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.Wrap(err, "unmarshalling values")
|
|
||||||
}
|
|
||||||
cs.Options.BuildValues = append(vals, (map[string]interface{})(dst))
|
|
||||||
|
|
||||||
if _, err := os.Stat(pack.Rel(CollectionFile)); err == nil {
|
if _, err := os.Stat(pack.Rel(CollectionFile)); err == nil {
|
||||||
val = pack.Rel(CollectionFile)
|
val = pack.Rel(CollectionFile)
|
||||||
|
|
||||||
@ -1038,7 +1031,14 @@ func (cs *LuetCompiler) FromPackage(p pkg.Package) (*compilerspec.LuetCompilatio
|
|||||||
Debug("metadata file not present, skipping", artifactMetadataFile)
|
Debug("metadata file not present, skipping", artifactMetadataFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes, err := cs.templatePackage(opts.BuildValues, pack)
|
// Update processed build values
|
||||||
|
dst, err := helpers.UnMarshalValues(cs.Options.BuildValuesFile)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "unmarshalling values")
|
||||||
|
}
|
||||||
|
opts.BuildValues = append(opts.BuildValues, (map[string]interface{})(dst))
|
||||||
|
|
||||||
|
bytes, err := cs.templatePackage(opts.BuildValues, pack, templatedata(dst))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "while rendering package template")
|
return nil, errors.Wrap(err, "while rendering package template")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user