@@ -102,44 +102,47 @@ func (s *composeService) publish(ctx context.Context, project *types.Project, re
102102 Digest : digest .FromBytes (emptyConfig ),
103103 Size : int64 (len (emptyConfig )),
104104 }
105- err = resolver .Push (ctx , named , configDescriptor , emptyConfig )
106- if err != nil {
107- return err
108- }
109-
110- imageManifest , err := json .Marshal (v1.Manifest {
111- Versioned : specs.Versioned {SchemaVersion : 2 },
112- MediaType : v1 .MediaTypeImageManifest ,
113- ArtifactType : "application/vnd.docker.compose.project" ,
114- Config : configDescriptor ,
115- Layers : layers ,
116- })
117- if err != nil {
118- return err
105+ var imageManifest []byte
106+ if ! s .dryRun {
107+ err = resolver .Push (ctx , named , configDescriptor , emptyConfig )
108+ if err != nil {
109+ return err
110+ }
111+ imageManifest , err = json .Marshal (v1.Manifest {
112+ Versioned : specs.Versioned {SchemaVersion : 2 },
113+ MediaType : v1 .MediaTypeImageManifest ,
114+ ArtifactType : "application/vnd.docker.compose.project" ,
115+ Config : configDescriptor ,
116+ Layers : layers ,
117+ })
118+ if err != nil {
119+ return err
120+ }
119121 }
120122
121123 w .Event (progress.Event {
122124 ID : repository ,
123125 Text : "publishing" ,
124126 Status : progress .Working ,
125127 })
126-
127- err = resolver .Push (ctx , named , v1.Descriptor {
128- MediaType : v1 .MediaTypeImageManifest ,
129- Digest : digest .FromString (string (imageManifest )),
130- Size : int64 (len (imageManifest )),
131- Annotations : map [string ]string {
132- "com.docker.compose.version" : api .ComposeVersion ,
133- },
134- ArtifactType : "application/vnd.docker.compose.project" ,
135- }, imageManifest )
136- if err != nil {
137- w .Event (progress.Event {
138- ID : repository ,
139- Text : "publishing" ,
140- Status : progress .Error ,
141- })
142- return err
128+ if ! s .dryRun {
129+ err = resolver .Push (ctx , named , v1.Descriptor {
130+ MediaType : v1 .MediaTypeImageManifest ,
131+ Digest : digest .FromString (string (imageManifest )),
132+ Size : int64 (len (imageManifest )),
133+ Annotations : map [string ]string {
134+ "com.docker.compose.version" : api .ComposeVersion ,
135+ },
136+ ArtifactType : "application/vnd.docker.compose.project" ,
137+ }, imageManifest )
138+ if err != nil {
139+ w .Event (progress.Event {
140+ ID : repository ,
141+ Text : "publishing" ,
142+ Status : progress .Error ,
143+ })
144+ return err
145+ }
143146 }
144147 w .Event (progress.Event {
145148 ID : repository ,
0 commit comments