@@ -2,6 +2,7 @@ import {beforeEach, describe, expect, it, jest, test} from '@jest/globals';
2
2
import * as fs from 'fs' ;
3
3
import * as path from 'path' ;
4
4
5
+ import * as buildx from '../src/buildx' ;
5
6
import * as context from '../src/context' ;
6
7
7
8
const pgp = `-----BEGIN PGP PRIVATE KEY BLOCK-----
@@ -127,6 +128,8 @@ jest.spyOn(context, 'tmpNameSync').mockImplementation((): string => {
127
128
return path . join ( '/tmp/.docker-build-push-jest' , '.tmpname-jest' ) . split ( path . sep ) . join ( path . posix . sep ) ;
128
129
} ) ;
129
130
131
+ jest . spyOn ( buildx , 'satisfiesBuildKitVersion' ) . mockResolvedValueOnce ( true ) ;
132
+
130
133
describe ( 'getArgs' , ( ) => {
131
134
beforeEach ( ( ) => {
132
135
process . env = Object . keys ( process . env ) . reduce ( ( object , key ) => {
@@ -159,7 +162,11 @@ describe('getArgs', () => {
159
162
1 ,
160
163
'0.4.2' ,
161
164
new Map < string , string > ( [
162
- [ 'build-args' , 'MY_ARG=val1,val2,val3\nARG=val' ] ,
165
+ [ 'build-args' , `MY_ARG=val1,val2,val3
166
+ ARG=val
167
+ "MULTILINE=aaaa
168
+ bbbb
169
+ ccc"` ] ,
163
170
[ 'load' , 'false' ] ,
164
171
[ 'no-cache' , 'false' ] ,
165
172
[ 'push' , 'false' ] ,
@@ -169,6 +176,7 @@ describe('getArgs', () => {
169
176
'build' ,
170
177
'--build-arg' , 'MY_ARG=val1,val2,val3' ,
171
178
'--build-arg' , 'ARG=val' ,
179
+ '--build-arg' , `MULTILINE=aaaa\nbbbb\nccc` ,
172
180
'--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
173
181
'https://github.com/docker/build-push-action.git#refs/heads/test-jest'
174
182
]
@@ -517,7 +525,119 @@ nproc=3`],
517
525
'--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
518
526
'https://github.com/docker/build-push-action.git#refs/heads/test-jest:subdir'
519
527
]
520
- ]
528
+ ] ,
529
+ [
530
+ 17 ,
531
+ '0.8.2' ,
532
+ new Map < string , string > ( [
533
+ [ 'context' , '.' ] ,
534
+ [ 'load' , 'false' ] ,
535
+ [ 'no-cache' , 'false' ] ,
536
+ [ 'push' , 'false' ] ,
537
+ [ 'pull' , 'false' ] ,
538
+ [ 'provenance' , 'true' ] ,
539
+ ] ) ,
540
+ [
541
+ 'build' ,
542
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
543
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
544
+ '.'
545
+ ]
546
+ ] ,
547
+ [
548
+ 18 ,
549
+ '0.10.0' ,
550
+ new Map < string , string > ( [
551
+ [ 'context' , '.' ] ,
552
+ [ 'load' , 'false' ] ,
553
+ [ 'no-cache' , 'false' ] ,
554
+ [ 'push' , 'false' ] ,
555
+ [ 'pull' , 'false' ] ,
556
+ ] ) ,
557
+ [
558
+ 'build' ,
559
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
560
+ "--provenance" , `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789` ,
561
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
562
+ '.'
563
+ ]
564
+ ] ,
565
+ [
566
+ 19 ,
567
+ '0.10.0' ,
568
+ new Map < string , string > ( [
569
+ [ 'context' , '.' ] ,
570
+ [ 'load' , 'false' ] ,
571
+ [ 'no-cache' , 'false' ] ,
572
+ [ 'push' , 'false' ] ,
573
+ [ 'pull' , 'false' ] ,
574
+ [ 'provenance' , 'true' ] ,
575
+ ] ) ,
576
+ [
577
+ 'build' ,
578
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
579
+ "--provenance" , `builder-id=https://github.com/docker/build-push-action/actions/runs/123456789` ,
580
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
581
+ '.'
582
+ ]
583
+ ] ,
584
+ [
585
+ 20 ,
586
+ '0.10.0' ,
587
+ new Map < string , string > ( [
588
+ [ 'context' , '.' ] ,
589
+ [ 'load' , 'false' ] ,
590
+ [ 'no-cache' , 'false' ] ,
591
+ [ 'push' , 'false' ] ,
592
+ [ 'pull' , 'false' ] ,
593
+ [ 'provenance' , 'mode=max' ] ,
594
+ ] ) ,
595
+ [
596
+ 'build' ,
597
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
598
+ "--provenance" , `mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789` ,
599
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
600
+ '.'
601
+ ]
602
+ ] ,
603
+ [
604
+ 21 ,
605
+ '0.10.0' ,
606
+ new Map < string , string > ( [
607
+ [ 'context' , '.' ] ,
608
+ [ 'load' , 'false' ] ,
609
+ [ 'no-cache' , 'false' ] ,
610
+ [ 'push' , 'false' ] ,
611
+ [ 'pull' , 'false' ] ,
612
+ [ 'provenance' , 'false' ] ,
613
+ ] ) ,
614
+ [
615
+ 'build' ,
616
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
617
+ "--provenance" , 'false' ,
618
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
619
+ '.'
620
+ ]
621
+ ] ,
622
+ [
623
+ 22 ,
624
+ '0.10.0' ,
625
+ new Map < string , string > ( [
626
+ [ 'context' , '.' ] ,
627
+ [ 'load' , 'false' ] ,
628
+ [ 'no-cache' , 'false' ] ,
629
+ [ 'push' , 'false' ] ,
630
+ [ 'pull' , 'false' ] ,
631
+ [ 'provenance' , 'builder-id=foo' ] ,
632
+ ] ) ,
633
+ [
634
+ 'build' ,
635
+ '--iidfile' , '/tmp/.docker-build-push-jest/iidfile' ,
636
+ "--provenance" , 'builder-id=foo' ,
637
+ '--metadata-file' , '/tmp/.docker-build-push-jest/metadata-file' ,
638
+ '.'
639
+ ]
640
+ ] ,
521
641
] ) (
522
642
'[%d] given %p with %p as inputs, returns %p' ,
523
643
async ( num : number , buildxVersion : string , inputs : Map < string , string > , expected : Array < string > ) => {
0 commit comments