mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 00:47:48 +08:00
Merge pull request #1018 from tonistiigi/v0.8-compose-target-dot
[v0.8] bake: allow dot in target names for compose
This commit is contained in:
commit
5fac64c2c4
13
bake/bake.go
13
bake/bake.go
@ -28,8 +28,10 @@ var (
|
||||
httpPrefix = regexp.MustCompile(`^https?://`)
|
||||
gitURLPathWithFragmentSuffix = regexp.MustCompile(`\.git(?:#.+)?$`)
|
||||
|
||||
validTargetNameChars = `[a-zA-Z0-9_-]+`
|
||||
targetNamePattern = regexp.MustCompile(`^` + validTargetNameChars + `$`)
|
||||
validTargetNameChars = `[a-zA-Z0-9_-]+`
|
||||
validTargetNameCharsCompose = `[a-zA-Z0-9._-]+`
|
||||
targetNamePattern = regexp.MustCompile(`^` + validTargetNameChars + `$`)
|
||||
targetNamePatternCompose = regexp.MustCompile(`^` + validTargetNameCharsCompose + `$`)
|
||||
)
|
||||
|
||||
type File struct {
|
||||
@ -968,6 +970,13 @@ func validateTargetName(name string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func validateTargetNameCompose(name string) error {
|
||||
if !targetNamePatternCompose.MatchString(name) {
|
||||
return errors.Errorf("only %q are allowed", validTargetNameCharsCompose)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func sliceEqual(s1, s2 []string) bool {
|
||||
if len(s1) != len(s2) {
|
||||
return false
|
||||
|
@ -60,7 +60,7 @@ func ParseCompose(dt []byte) (*Config, error) {
|
||||
continue
|
||||
}
|
||||
|
||||
if err = validateTargetName(s.Name); err != nil {
|
||||
if err = validateTargetNameCompose(s.Name); err != nil {
|
||||
return nil, errors.Wrapf(err, "invalid service name %q", s.Name)
|
||||
}
|
||||
|
||||
|
@ -330,6 +330,10 @@ func TestServiceName(t *testing.T) {
|
||||
},
|
||||
{
|
||||
svc: "a.b",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
svc: "a?b",
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user