Merge pull request #370 from crazy-max/bake-cwd

bake: set cwd:// prefix for bake files path
This commit is contained in:
Tõnis Tiigi authored and GitHub committed 2024-01-04 09:32:49 -08:00
commit 41e1fe3437
5 files changed
+82 -55

No files matched your search

+27 -1
View File
@@ -424,7 +424,7 @@ jobs:
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: v0.12.0-rc1
version: latest
-
name: Build
uses: docker/bake-action@v4
@@ -455,3 +455,29 @@ jobs:
-
name: Print envs
run: env|sort
bake-cwd:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
-
name: Docker meta
id: docker_meta
uses: ./
-
name: Build
uses: docker/bake-action@v4
with:
files: |
./test/docker-bake.hcl
${{ steps.docker_meta.outputs.bake-file-tags }}
${{ steps.docker_meta.outputs.bake-file-labels }}
targets: |
release
Generated Vendored
+1 -1
View File
@@ -86,5 +86,5 @@ const a=o(57147);const i=o(22037);const p=o(71017);const c=o(6113);const d={fs:a
* XRegExp 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*/var y="xregexp";var C={astral:false,namespacing:false};var B={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split};var v={};var R={};var I={};var N=[];var W="default";var w="class";var S={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/};var Q=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g;var x=B.exec.call(/()??/,"")[1]===undefined;var L=(0,q["default"])(/x/)!==undefined;var T={},_=T.toString;function hasNativeFlag(t){var r=true;try{new RegExp("",t);if(t==="y"){var o=function(){return"gy"}();var a=".a".replace(new RegExp("a",o),".")==="..";if(a){r=false}}}catch(t){r=false}return r}var D=hasNativeFlag("u");var k=hasNativeFlag("y");var P={g:true,i:true,m:true,u:D,y:k};function augment(t,r,o,a,i){var p;t[y]={captureNames:r};if(i){return t}if(t.__proto__){t.__proto__=XRegExp.prototype}else{for(var c in XRegExp.prototype){t[c]=XRegExp.prototype[c]}}t[y].source=o;t[y].flags=a?(0,E["default"])(p=a.split("")).call(p).join(""):a;return t}function clipDuplicates(t){return B.replace.call(t,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(t,r){var o;if(!XRegExp.isRegExp(t)){throw new TypeError("Type RegExp expected")}var a=t[y]||{};var i=getNativeFlags(t);var p="";var c="";var d=null;var A=null;r=r||{};if(r.removeG){c+="g"}if(r.removeY){c+="y"}if(c){i=B.replace.call(i,new RegExp("[".concat(c,"]+"),"g"),"")}if(r.addG){p+="g"}if(r.addY){p+="y"}if(p){i=clipDuplicates(i+p)}if(!r.isInternalOnly){if(a.source!==undefined){d=a.source}if((0,q["default"])(a)!=null){A=p?clipDuplicates((0,q["default"])(a)+p):(0,q["default"])(a)}}t=augment(new RegExp(r.source||t.source,i),hasNamedCapture(t)?(0,g["default"])(o=a.captureNames).call(o,0):null,d,A,r.isInternalOnly);return t}function dec(t){return(0,h["default"])(t,16)}function getContextualTokenSeparator(t,r,o){if(t.input[t.index-1]==="("||t.input[t.index+t[0].length]===")"||t.input[t.index-1]==="|"||t.input[t.index+t[0].length]==="|"||t.index<1||t.index+t[0].length>=t.input.length||B.test.call(/^\(\?[:=!]/,t.input.substr(t.index-3,3))||isQuantifierNext(t.input,t.index+t[0].length,o)){return""}return"(?:)"}function getNativeFlags(t){return L?(0,q["default"])(t):B.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(t))[1]}function hasNamedCapture(t){return!!(t[y]&&t[y].captureNames)}function hex(t){return(0,h["default"])(t,10).toString(16)}function isQuantifierNext(t,r,o){var a="\\(\\?#[^)]*\\)";var i="#[^#\\n]*";var p="[?*+]|{\\d+(?:,\\d*)?}";return B.test.call((0,O["default"])(o).call(o,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,g["default"])(t).call(t,r))}function isType(t,r){return _.call(t)==="[object ".concat(r,"]")}function pad4(t){while(t.length<4){t="0".concat(t)}return t}function prepareFlags(t,r){if(clipDuplicates(r)!==r){throw new SyntaxError("Invalid duplicate regex flag ".concat(r))}t=B.replace.call(t,/^\(\?([\w$]+)\)/,(function(t,o){if(B.test.call(/[gy]/,o)){throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(t))}r=clipDuplicates(r+o);return""}));var o=_createForOfIteratorHelper(r),a;try{for(o.s();!(a=o.n()).done;){var i=a.value;if(!P[i]){throw new SyntaxError("Unknown regex flag ".concat(i))}}}catch(t){o.e(t)}finally{o.f()}return{pattern:t,flags:r}}function prepareOptions(t){var r={};if(isType(t,"String")){(0,z["default"])(XRegExp).call(XRegExp,t,/[^\s,]+/,(function(t){r[t]=true}));return r}return t}function registerFlag(t){if(!/^[\w$]$/.test(t)){throw new Error("Flag must be a single character A-Za-z0-9_$")}P[t]=true}function runTokens(t,r,o,a,i){var p=N.length;var c=t[o];var d=null;var A;var l;while(p--){l=N[p];if(l.leadChar&&l.leadChar!==c||l.scope!==a&&l.scope!=="all"||l.flag&&!(0,O["default"])(r).call(r,l.flag)){continue}A=XRegExp.exec(t,l.regex,o,"sticky");if(A){d={matchLength:A[0].length,output:l.handler.call(i,A,a,r),reparse:l.reparse};break}}return d}function setAstral(t){C.astral=t}function setNamespacing(t){C.namespacing=t}function toObject(t){if(t==null){throw new TypeError("Cannot convert null or undefined to object")}return t}function XRegExp(t,r){if(XRegExp.isRegExp(t)){if(r!==undefined){throw new TypeError("Cannot supply flags when copying a RegExp")}return copyRegex(t)}t=t===undefined?"":String(t);r=r===undefined?"":String(r);if(XRegExp.isInstalled("astral")&&!(0,O["default"])(r).call(r,"A")){r+="A"}if(!I[t]){I[t]={}}if(!I[t][r]){var o={hasNamedCapture:false,captureNames:[]};var a=W;var i="";var p=0;var c;var d=prepareFlags(t,r);var A=d.pattern;var l=(0,q["default"])(d);while(p<A.length){do{c=runTokens(A,l,p,a,o);if(c&&c.reparse){A=(0,g["default"])(A).call(A,0,p)+c.output+(0,g["default"])(A).call(A,p+c.matchLength)}}while(c&&c.reparsLine truncated
*/var y="xregexp";var C={astral:false,namespacing:false};var B={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split};var v={};var R={};var I={};var N=[];var W="default";var w="class";var S={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/};var Q=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g;var x=B.exec.call(/()??/,"")[1]===undefined;var L=(0,q["default"])(/x/)!==undefined;var T={},_=T.toString;function hasNativeFlag(t){var r=true;try{new RegExp("",t);if(t==="y"){var o=function(){return"gy"}();var a=".a".replace(new RegExp("a",o),".")==="..";if(a){r=false}}}catch(t){r=false}return r}var D=hasNativeFlag("u");var k=hasNativeFlag("y");var P={g:true,i:true,m:true,u:D,y:k};function augment(t,r,o,a,i){var p;t[y]={captureNames:r};if(i){return t}if(t.__proto__){t.__proto__=XRegExp.prototype}else{for(var c in XRegExp.prototype){t[c]=XRegExp.prototype[c]}}t[y].source=o;t[y].flags=a?(0,E["default"])(p=a.split("")).call(p).join(""):a;return t}function clipDuplicates(t){return B.replace.call(t,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(t,r){var o;if(!XRegExp.isRegExp(t)){throw new TypeError("Type RegExp expected")}var a=t[y]||{};var i=getNativeFlags(t);var p="";var c="";var d=null;var A=null;r=r||{};if(r.removeG){c+="g"}if(r.removeY){c+="y"}if(c){i=B.replace.call(i,new RegExp("[".concat(c,"]+"),"g"),"")}if(r.addG){p+="g"}if(r.addY){p+="y"}if(p){i=clipDuplicates(i+p)}if(!r.isInternalOnly){if(a.source!==undefined){d=a.source}if((0,q["default"])(a)!=null){A=p?clipDuplicates((0,q["default"])(a)+p):(0,q["default"])(a)}}t=augment(new RegExp(r.source||t.source,i),hasNamedCapture(t)?(0,g["default"])(o=a.captureNames).call(o,0):null,d,A,r.isInternalOnly);return t}function dec(t){return(0,h["default"])(t,16)}function getContextualTokenSeparator(t,r,o){if(t.input[t.index-1]==="("||t.input[t.index+t[0].length]===")"||t.input[t.index-1]==="|"||t.input[t.index+t[0].length]==="|"||t.index<1||t.index+t[0].length>=t.input.length||B.test.call(/^\(\?[:=!]/,t.input.substr(t.index-3,3))||isQuantifierNext(t.input,t.index+t[0].length,o)){return""}return"(?:)"}function getNativeFlags(t){return L?(0,q["default"])(t):B.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(t))[1]}function hasNamedCapture(t){return!!(t[y]&&t[y].captureNames)}function hex(t){return(0,h["default"])(t,10).toString(16)}function isQuantifierNext(t,r,o){var a="\\(\\?#[^)]*\\)";var i="#[^#\\n]*";var p="[?*+]|{\\d+(?:,\\d*)?}";return B.test.call((0,O["default"])(o).call(o,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,g["default"])(t).call(t,r))}function isType(t,r){return _.call(t)==="[object ".concat(r,"]")}function pad4(t){while(t.length<4){t="0".concat(t)}return t}function prepareFlags(t,r){if(clipDuplicates(r)!==r){throw new SyntaxError("Invalid duplicate regex flag ".concat(r))}t=B.replace.call(t,/^\(\?([\w$]+)\)/,(function(t,o){if(B.test.call(/[gy]/,o)){throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(t))}r=clipDuplicates(r+o);return""}));var o=_createForOfIteratorHelper(r),a;try{for(o.s();!(a=o.n()).done;){var i=a.value;if(!P[i]){throw new SyntaxError("Unknown regex flag ".concat(i))}}}catch(t){o.e(t)}finally{o.f()}return{pattern:t,flags:r}}function prepareOptions(t){var r={};if(isType(t,"String")){(0,z["default"])(XRegExp).call(XRegExp,t,/[^\s,]+/,(function(t){r[t]=true}));return r}return t}function registerFlag(t){if(!/^[\w$]$/.test(t)){throw new Error("Flag must be a single character A-Za-z0-9_$")}P[t]=true}function runTokens(t,r,o,a,i){var p=N.length;var c=t[o];var d=null;var A;var l;while(p--){l=N[p];if(l.leadChar&&l.leadChar!==c||l.scope!==a&&l.scope!=="all"||l.flag&&!(0,O["default"])(r).call(r,l.flag)){continue}A=XRegExp.exec(t,l.regex,o,"sticky");if(A){d={matchLength:A[0].length,output:l.handler.call(i,A,a,r),reparse:l.reparse};break}}return d}function setAstral(t){C.astral=t}function setNamespacing(t){C.namespacing=t}function toObject(t){if(t==null){throw new TypeError("Cannot convert null or undefined to object")}return t}function XRegExp(t,r){if(XRegExp.isRegExp(t)){if(r!==undefined){throw new TypeError("Cannot supply flags when copying a RegExp")}return copyRegex(t)}t=t===undefined?"":String(t);r=r===undefined?"":String(r);if(XRegExp.isInstalled("astral")&&!(0,O["default"])(r).call(r,"A")){r+="A"}if(!I[t]){I[t]={}}if(!I[t][r]){var o={hasNamedCapture:false,captureNames:[]};var a=W;var i="";var p=0;var c;var d=prepareFlags(t,r);var A=d.pattern;var l=(0,q["default"])(d);while(p<A.length){do{c=runTokens(A,l,p,a,o);if(c&&c.reparse){A=(0,g["default"])(A).call(A,0,p)+c.output+(0,g["default"])(A).call(A,p+c.matchLength)}}while(c&&c.reparsLine truncated
//# sourceMappingURL=index.js.map
Generated Vendored
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","exports","saveCache","restoreCache","isFeatureAvailable","ReserveCacheError","ValidationError","core","__webpack_require__","path","utils","cacheHttpClient","tar_1","Error","constructor","message","super","name","setPrototypeOf","checkPaths","paths","length","checkKey","key","regex","test","process","env","primaryKey","restoreKeys","options","enableCrossOsArchive","keys","debug","JSON","stringify","compressionMethod","getCompressionMethod","archivePath","cacheEntry","getCacheEntry","archiveLocation","lookupOnly","info","cacheKey","join","createTempDirectory","getCacheFileName","downloadCache","isDebug","listTar","archiveFileSize","getArchiveFileSizeInBytes","Math","round","extractTar","error","typedError","warning","unlinkFile","_a","_b","_c","_d","_e","cacheId","cachePaths","resolvePaths","archiveFolder","createTar","fileSizeLimit","isGhes","reserveCacheResponse","reserveCache","cacheSize","statusCode","getCacheVersion","http_client_1","auth_1","crypto","fs","url_1","downloadUtils_1","options_1","requestUtils_1","versionSalt","getCacheApiUrl","resource","baseUrl","url","createAcceptHeader","type","apiVersion","getRequestOptions","requestOptions","headers","Accept","createHttpClient","token","bearerCredentialHandler","BearerCredentialHandler","HttpClient","components","push","platform","createHash","update","digest","httpClient","version","encodeURIComponent","response","retryTypedResponse","getJson","printCachesListForDiagnostics","isSuccessStatusCode","cacheResult","cacheDownloadUrl","setSecret","cacheListResult","totalCount","artifactCaches","cacheVersion","scope","creationTime","archiveUrl","URL","downloadOptions","getDownloadOptions","hostname","endsWith","useAzureSdk","downloadCacheStorageSDK","concurrentBlobDownloads","downloadCacheHttpClientConcurrent","downloadCacheHttpClient","reserveCacheRequest","postJson","getContentRange","start","end","uploadChunk","resourceUrl","openStream","additionalHeaders","uploadChunkResponse","retryHttpClientResponse","sendStream","uploadFile","fileSize","toString","fd","openSync","uploadOptions","getUploadOptions","concurrency","assertDefined","uploadConcurrency","maxChunkSize","uploadChunkSize","parallelUploads","Array","offset","all","map","chunkSize","min","createReadStream","autoClose","on","closeSync","commitCache","filesize","commitCacheRequest","size","commitCacheResponse","__asyncValues","Symbol","asyncIterator","TypeError","i","__values","iterator","verb","n","settle","d","getGnuTarPathOnWindows","exec","glob","io","semver","util","uuid_1","constants_1","IS_WINDOWS","tempDirectory","baseLocation","dest","v4","mkdirP","filePath","statSync","patterns","e_1","workspace","cwd","globber","implicitDescendants","_f","globGenerator","_g","file","relativeFile","relative","replace","RegExp","sep","e_1_1","return","promisify","unlink","getVersion","app","additionalArgs","versionOutput","ignoreReturnCode","silent","listeners","stdout","data","stderr","err","trim","clean","CompressionMethod","Gzip","ZstdWithoutLong","CacheFilename","Zstd","existsSync","GnuTarPathOnWindows","toLowerCase","includes","which","ghUrl","toUpperCase","ManifestFilename","TarFilename","SystemTarPathOnWindows","SocketTimeout","DefaultRetryDelay","DefaultRetryAttempts","ArchiveToolType","DownloadProgress","storage_blob_1","buffer","stream","abort_controller_1","pipeResponseToStream","output","pipeline","contentLength","segmentIndex","segmentSize","segmentOffset","receivedBytes","displayedComplete","startTime","Date","now","nextSegment","setReceivedBytes","getTransferredBytes","isDone","display","transferredBytes","percentage","toFixed","elapsedTime","downloadSpeed","onProgress","progress","loadedBytes","startDisplayTimer","delayInMs","displayCallback","timeoutHandle","setTimeout","stopDisplayTimer","clearTimeout","writeStream","createWriteStream","downloadResponse","socket","destroy","contentLengthHeader","expectedLength","parseInt","actualLength","archiveDescriptor","promises","open","socketTimeout","timeoutInMs","keepAlive","res","request","lengthHeader","Number","isNaN","downloads","blockSize","count","promiseGetter","downloadSegmentRetry","reverse","actives","bytesDownloaded","progressFn","activeDownloads","nextDownload","waitAndWrite","segment","race","values","write","pop","downloadConcurrency","dispose","close","retries","failures","timeout","promiseWithTimeout","downloadSegment","partRes","Range","readBodyBuffer","client","BlockBlobClient","retryOptions","tryTimeoutInMs","properties","getProperties","maxSegmentSize","constants"Line truncated
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","exports","saveCache","restoreCache","isFeatureAvailable","ReserveCacheError","ValidationError","core","__webpack_require__","path","utils","cacheHttpClient","tar_1","Error","constructor","message","super","name","setPrototypeOf","checkPaths","paths","length","checkKey","key","regex","test","process","env","primaryKey","restoreKeys","options","enableCrossOsArchive","keys","debug","JSON","stringify","compressionMethod","getCompressionMethod","archivePath","cacheEntry","getCacheEntry","archiveLocation","lookupOnly","info","cacheKey","join","createTempDirectory","getCacheFileName","downloadCache","isDebug","listTar","archiveFileSize","getArchiveFileSizeInBytes","Math","round","extractTar","error","typedError","warning","unlinkFile","_a","_b","_c","_d","_e","cacheId","cachePaths","resolvePaths","archiveFolder","createTar","fileSizeLimit","isGhes","reserveCacheResponse","reserveCache","cacheSize","statusCode","getCacheVersion","http_client_1","auth_1","crypto","fs","url_1","downloadUtils_1","options_1","requestUtils_1","versionSalt","getCacheApiUrl","resource","baseUrl","url","createAcceptHeader","type","apiVersion","getRequestOptions","requestOptions","headers","Accept","createHttpClient","token","bearerCredentialHandler","BearerCredentialHandler","HttpClient","components","push","platform","createHash","update","digest","httpClient","version","encodeURIComponent","response","retryTypedResponse","getJson","printCachesListForDiagnostics","isSuccessStatusCode","cacheResult","cacheDownloadUrl","setSecret","cacheListResult","totalCount","artifactCaches","cacheVersion","scope","creationTime","archiveUrl","URL","downloadOptions","getDownloadOptions","hostname","endsWith","useAzureSdk","downloadCacheStorageSDK","concurrentBlobDownloads","downloadCacheHttpClientConcurrent","downloadCacheHttpClient","reserveCacheRequest","postJson","getContentRange","start","end","uploadChunk","resourceUrl","openStream","additionalHeaders","uploadChunkResponse","retryHttpClientResponse","sendStream","uploadFile","fileSize","toString","fd","openSync","uploadOptions","getUploadOptions","concurrency","assertDefined","uploadConcurrency","maxChunkSize","uploadChunkSize","parallelUploads","Array","offset","all","map","chunkSize","min","createReadStream","autoClose","on","closeSync","commitCache","filesize","commitCacheRequest","size","commitCacheResponse","__asyncValues","Symbol","asyncIterator","TypeError","i","__values","iterator","verb","n","settle","d","getGnuTarPathOnWindows","exec","glob","io","semver","util","uuid_1","constants_1","IS_WINDOWS","tempDirectory","baseLocation","dest","v4","mkdirP","filePath","statSync","patterns","e_1","workspace","cwd","globber","implicitDescendants","_f","globGenerator","_g","file","relativeFile","relative","replace","RegExp","sep","e_1_1","return","promisify","unlink","getVersion","app","additionalArgs","versionOutput","ignoreReturnCode","silent","listeners","stdout","data","stderr","err","trim","clean","CompressionMethod","Gzip","ZstdWithoutLong","CacheFilename","Zstd","existsSync","GnuTarPathOnWindows","toLowerCase","includes","which","ghUrl","toUpperCase","ManifestFilename","TarFilename","SystemTarPathOnWindows","SocketTimeout","DefaultRetryDelay","DefaultRetryAttempts","ArchiveToolType","DownloadProgress","storage_blob_1","buffer","stream","abort_controller_1","pipeResponseToStream","output","pipeline","contentLength","segmentIndex","segmentSize","segmentOffset","receivedBytes","displayedComplete","startTime","Date","now","nextSegment","setReceivedBytes","getTransferredBytes","isDone","display","transferredBytes","percentage","toFixed","elapsedTime","downloadSpeed","onProgress","progress","loadedBytes","startDisplayTimer","delayInMs","displayCallback","timeoutHandle","setTimeout","stopDisplayTimer","clearTimeout","writeStream","createWriteStream","downloadResponse","socket","destroy","contentLengthHeader","expectedLength","parseInt","actualLength","archiveDescriptor","promises","open","socketTimeout","timeoutInMs","keepAlive","res","request","lengthHeader","Number","isNaN","downloads","blockSize","count","promiseGetter","downloadSegmentRetry","reverse","actives","bytesDownloaded","progressFn","activeDownloads","nextDownload","waitAndWrite","segment","race","values","write","pop","downloadConcurrency","dispose","close","retries","failures","timeout","promiseWithTimeout","downloadSegment","partRes","Range","readBodyBuffer","client","BlockBlobClient","retryOptions","tryTimeoutInMs","properties","getProperties","maxSegmentSize","constants"Line truncated
+7 -2
View File
@@ -94,17 +94,22 @@ actionsToolkit.run(
setOutput('json', JSON.stringify(jsonOutput));
});
// Specifying local and remote bake files is supported since Buildx 0.12.0.
// Set cwd:// prefix for local bake files to avoid ambiguity with remote
// https://github.com/docker/buildx/pull/1838
const bakeFileCwdPrefix = (await toolkit.buildx.versionSatisfies('>=0.12.0').catch(() => false)) ? 'cwd://' : '';
// Bake files
for (const kind of ['tags', 'labels', 'annotations:' + annotationsLevels]) {
const outputName = kind.split(':')[0];
const bakeFile: string = meta.getBakeFile(kind);
await core.group(`Bake file definition (${outputName})`, async () => {
core.info(fs.readFileSync(bakeFile, 'utf8'));
setOutput(`bake-file-${outputName}`, bakeFile);
setOutput(`bake-file-${outputName}`, `${bakeFileCwdPrefix}${bakeFile}`);
});
}
// Bake file with tags and labels
setOutput(`bake-file`, meta.getBakeFileTagsLabels());
setOutput(`bake-file`, `${bakeFileCwdPrefix}${meta.getBakeFileTagsLabels()}`);
}
);
+46 -50
View File
@@ -522,70 +522,66 @@ export class Meta {
public getBakeFile(kind: string): string {
if (kind == 'tags') {
return this.generateBakeFile(kind, {
tags: this.getTags(),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
});
} else if (kind == 'labels') {
return this.generateBakeFile(kind, {
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
return this.generateBakeFile(
{
tags: this.getTags(),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
res[matches[1]] = matches[2];
return res;
}, {})
});
},
kind
);
} else if (kind == 'labels') {
return this.generateBakeFile(
{
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {})
},
kind
);
} else if (kind.startsWith('annotations:')) {
const name = kind.split(':')[0];
const annotations: Array<string> = [];
for (const level of kind.split(':')[1].split(',')) {
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
}
return this.generateBakeFile(name, {
annotations: annotations
});
return this.generateBakeFile(
{
annotations: annotations
},
name
);
}
throw new Error(`Unknown bake file type: ${kind}`);
}
public getBakeFileTagsLabels(): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), 'docker-metadata-action-bake.json');
fs.writeFileSync(
bakeFile,
JSON.stringify(
{
target: {
[this.inputs.bakeTarget]: {
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
}
}
},
null,
2
)
);
return bakeFile;
return this.generateBakeFile({
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
});
}
private generateBakeFile(name: string, dt): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), `docker-metadata-action-bake-${name}.json`);
private generateBakeFile(dt, suffix?: string): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), `docker-metadata-action-bake${suffix ? `-${suffix}` : ''}.json`);
fs.writeFileSync(bakeFile, JSON.stringify({target: {[this.inputs.bakeTarget]: dt}}, null, 2));
return bakeFile;
}