@@ -97,7 +97,12 @@ actionsToolkit.run(
97
97
98
98
let err : Error | undefined ;
99
99
await Exec . getExecOutput ( buildCmd . command , buildCmd . args , {
100
- ignoreReturnCode : true
100
+ ignoreReturnCode : true ,
101
+ env : Object . assign ( { } , process . env , {
102
+ BUILDX_METADATA_WARNINGS : 'true'
103
+ } ) as {
104
+ [ key : string ] : string ;
105
+ }
101
106
} ) . then ( res => {
102
107
if ( res . stderr . length > 0 && res . exitCode != 0 ) {
103
108
err = Error ( `buildx failed with: ${ res . stderr . match ( / ( .* ) \s * $ / ) ?. [ 0 ] ?. trim ( ) ?? 'unknown error' } ` ) ;
@@ -106,7 +111,7 @@ actionsToolkit.run(
106
111
107
112
const imageID = toolkit . buildxBuild . resolveImageID ( ) ;
108
113
const metadata = toolkit . buildxBuild . resolveMetadata ( ) ;
109
- const digest = toolkit . buildxBuild . resolveDigest ( ) ;
114
+ const digest = toolkit . buildxBuild . resolveDigest ( metadata ) ;
110
115
if ( imageID ) {
111
116
await core . group ( `ImageID` , async ( ) => {
112
117
core . info ( imageID ) ;
@@ -127,7 +132,7 @@ actionsToolkit.run(
127
132
} ) ;
128
133
}
129
134
130
- let ref : string ;
135
+ let ref : string | undefined ;
131
136
await core . group ( `Reference` , async ( ) => {
132
137
ref = await buildRef ( toolkit , startedTime , inputs . builder ) ;
133
138
if ( ref ) {
@@ -138,6 +143,19 @@ actionsToolkit.run(
138
143
}
139
144
} ) ;
140
145
146
+ const warnings = toolkit . buildxBuild . resolveWarnings ( metadata ) ;
147
+ if ( ref && warnings && warnings . length > 0 ) {
148
+ const annotations = await Buildx . convertWarningsToGitHubAnnotations ( warnings , [ ref ] ) ;
149
+ core . debug ( `annotations: ${ JSON . stringify ( annotations , null , 2 ) } ` ) ;
150
+ if ( annotations && annotations . length > 0 ) {
151
+ await core . group ( `Generating GitHub annotations (${ annotations . length } build checks found)` , async ( ) => {
152
+ for ( const annotation of annotations ) {
153
+ core . warning ( annotation . message , annotation ) ;
154
+ }
155
+ } ) ;
156
+ }
157
+ }
158
+
141
159
await core . group ( `Check build summary support` , async ( ) => {
142
160
if ( ! buildSummaryEnabled ( ) ) {
143
161
core . info ( 'Build summary disabled' ) ;
0 commit comments