Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 4dc61a6

Browse files
Merge pull request #573 from silvin-lubecki/revert-random-order-single-file
Revert document detection on single file format
2 parents 93a66d6 + b81c279 commit 4dc61a6

File tree

3 files changed

+12
-33
lines changed

3 files changed

+12
-33
lines changed
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
version: 0.1.0
2+
name: myapp
3+
maintainers:
4+
- name: dev
5+
6+
---
17
version: "3.4"
28
services:
39
test:
@@ -8,9 +14,3 @@ myapp:
814
command1: cat
915
command2: foo
1016
command3: bar
11-
---
12-
version: 0.1.0
13-
name: myapp
14-
maintainers:
15-
- name: dev
16-

loader/loader.go

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ import (
88
"path/filepath"
99

1010
"github.com/docker/app/internal"
11-
"github.com/docker/app/specification"
1211
"github.com/docker/app/types"
13-
"github.com/docker/cli/cli/compose/loader"
14-
"github.com/docker/cli/cli/compose/schema"
1512
"github.com/docker/docker/pkg/archive"
1613
"github.com/pkg/errors"
1714
)
@@ -69,26 +66,12 @@ func LoadFromSingleFile(path string, r io.Reader, ops ...func(*types.App) error)
6966
return nil, errors.Errorf("malformed single-file application: expected 3 documents, got %d", len(parts))
7067
}
7168

72-
var (
73-
metadata io.Reader
74-
compose io.Reader
75-
params io.Reader
76-
)
77-
for i := 0; i < 3; i++ {
78-
parsed, err := loader.ParseYAML(parts[i])
79-
if err != nil {
80-
return nil, err
81-
}
82-
if err := specification.Validate(parsed, internal.MetadataVersion); metadata == nil && err == nil {
83-
metadata = bytes.NewBuffer(parts[i])
84-
} else if err2 := schema.Validate(parsed, schema.Version(parsed)); compose == nil && err2 == nil {
85-
compose = bytes.NewBuffer(parts[i])
86-
} else if params == nil {
87-
params = bytes.NewBuffer(parts[i])
88-
} else {
89-
return nil, errors.New("malformed single-file application")
90-
}
91-
}
69+
// 0. is metadata
70+
metadata := bytes.NewBuffer(parts[0])
71+
// 1. is compose
72+
compose := bytes.NewBuffer(parts[1])
73+
// 2. is parameters
74+
params := bytes.NewBuffer(parts[2])
9275

9376
appOps := append([]func(*types.App) error{
9477
types.WithComposes(compose),

loader/loader_test.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ func TestLoadFromSingleFile(t *testing.T) {
4646
name: "mixed-carriage-return-line-feed",
4747
file: fmt.Sprintf("%s\r\n---\r\n%s\r\n---\n%s", metadata, compose, params),
4848
},
49-
{
50-
name: "unordered-documents",
51-
file: fmt.Sprintf("%s\n---\n%s\n---\n%s", params, metadata, compose),
52-
},
5349
}
5450
for _, test := range testCases {
5551
t.Run(test.name, func(t *testing.T) {

0 commit comments

Comments
 (0)