@@ -974,7 +974,6 @@ func testSecurityModeErrors(t *testing.T, sb integration.Sandbox) {
974
974
}
975
975
976
976
func testFrontendImageNaming (t * testing.T , sb integration.Sandbox ) {
977
- integration .CheckFeatureCompat (t , sb , integration .FeatureOCIExporter , integration .FeatureDirectPush )
978
977
requiresLinux (t )
979
978
c , err := New (sb .Context (), sb .Address ())
980
979
require .NoError (t , err )
@@ -1083,12 +1082,15 @@ func testFrontendImageNaming(t *testing.T, sb integration.Sandbox) {
1083
1082
1084
1083
switch exp {
1085
1084
case ExporterOCI :
1085
+ integration .CheckFeatureCompat (t , sb , integration .FeatureOCIExporter )
1086
1086
t .Skip ("oci exporter does not support named images" )
1087
1087
case ExporterDocker :
1088
+ integration .CheckFeatureCompat (t , sb , integration .FeatureOCIExporter )
1088
1089
outW , err := os .Create (out )
1089
1090
require .NoError (t , err )
1090
1091
so .Exports [0 ].Output = fixedWriteCloser (outW )
1091
1092
case ExporterImage :
1093
+ integration .CheckFeatureCompat (t , sb , integration .FeatureDirectPush )
1092
1094
imageName = registry + "/" + imageName
1093
1095
so .Exports [0 ].Attrs ["push" ] = "true"
1094
1096
}
@@ -3747,7 +3749,11 @@ func testBuildPushAndValidate(t *testing.T, sb integration.Sandbox) {
3747
3749
}
3748
3750
3749
3751
func testStargzLazyRegistryCacheImportExport (t * testing.T , sb integration.Sandbox ) {
3750
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
3752
+ integration .CheckFeatureCompat (t , sb ,
3753
+ integration .FeatureCacheExport ,
3754
+ integration .FeatureCacheBackendRegistry ,
3755
+ integration .FeatureOCIExporter ,
3756
+ )
3751
3757
requiresLinux (t )
3752
3758
cdAddress := sb .ContainerdAddress ()
3753
3759
if cdAddress == "" || sb .Snapshotter () != "stargz" {
@@ -3807,6 +3813,7 @@ func testStargzLazyRegistryCacheImportExport(t *testing.T, sb integration.Sandbo
3807
3813
3808
3814
// clear all local state out
3809
3815
ensurePruneAll (t , c , sb )
3816
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheImport , integration .FeatureDirectPush )
3810
3817
3811
3818
// stargz layers should be lazy even for executing something on them
3812
3819
def , err = baseDef .
@@ -4456,7 +4463,7 @@ func testZstdLocalCacheExport(t *testing.T, sb integration.Sandbox) {
4456
4463
}
4457
4464
4458
4465
func testCacheExportIgnoreError (t * testing.T , sb integration.Sandbox ) {
4459
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration . FeatureCacheBackendLocal )
4466
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport )
4460
4467
c , err := New (sb .Context (), sb .Address ())
4461
4468
require .NoError (t , err )
4462
4469
defer c .Close ()
@@ -4539,12 +4546,21 @@ func testCacheExportIgnoreError(t *testing.T, sb integration.Sandbox) {
4539
4546
for _ , ignoreError := range ignoreErrorValues {
4540
4547
ignoreErrStr := strconv .FormatBool (ignoreError )
4541
4548
for n , test := range tests {
4549
+ n := n
4542
4550
require .Equal (t , 1 , len (test .Exports ))
4543
4551
require .Equal (t , 1 , len (test .CacheExports ))
4544
4552
require .NotEmpty (t , test .CacheExports [0 ].Attrs )
4545
4553
test .CacheExports [0 ].Attrs ["ignore-error" ] = ignoreErrStr
4546
4554
testName := fmt .Sprintf ("%s-%s" , n , ignoreErrStr )
4547
4555
t .Run (testName , func (t * testing.T ) {
4556
+ switch n {
4557
+ case "local-ignore-error" :
4558
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheBackendLocal )
4559
+ case "registry-ignore-error" :
4560
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheBackendRegistry )
4561
+ case "s3-ignore-error" :
4562
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheBackendS3 )
4563
+ }
4548
4564
_ , err = c .Solve (sb .Context (), def , SolveOpt {
4549
4565
Exports : test .Exports ,
4550
4566
CacheExports : test .CacheExports ,
@@ -4563,7 +4579,11 @@ func testCacheExportIgnoreError(t *testing.T, sb integration.Sandbox) {
4563
4579
}
4564
4580
4565
4581
func testUncompressedLocalCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4566
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendLocal )
4582
+ integration .CheckFeatureCompat (t , sb ,
4583
+ integration .FeatureCacheExport ,
4584
+ integration .FeatureCacheImport ,
4585
+ integration .FeatureCacheBackendLocal ,
4586
+ )
4567
4587
dir := t .TempDir ()
4568
4588
im := CacheOptionsEntry {
4569
4589
Type : "local" ,
@@ -4583,7 +4603,11 @@ func testUncompressedLocalCacheImportExport(t *testing.T, sb integration.Sandbox
4583
4603
}
4584
4604
4585
4605
func testUncompressedRegistryCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4586
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
4606
+ integration .CheckFeatureCompat (t , sb ,
4607
+ integration .FeatureCacheExport ,
4608
+ integration .FeatureCacheImport ,
4609
+ integration .FeatureCacheBackendRegistry ,
4610
+ )
4587
4611
registry , err := sb .NewRegistry ()
4588
4612
if errors .Is (err , integration .ErrRequirements ) {
4589
4613
t .Skip (err .Error ())
@@ -4608,7 +4632,11 @@ func testUncompressedRegistryCacheImportExport(t *testing.T, sb integration.Sand
4608
4632
}
4609
4633
4610
4634
func testZstdLocalCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4611
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendLocal )
4635
+ integration .CheckFeatureCompat (t , sb ,
4636
+ integration .FeatureCacheExport ,
4637
+ integration .FeatureCacheImport ,
4638
+ integration .FeatureCacheBackendLocal ,
4639
+ )
4612
4640
dir := t .TempDir ()
4613
4641
im := CacheOptionsEntry {
4614
4642
Type : "local" ,
@@ -4629,7 +4657,11 @@ func testZstdLocalCacheImportExport(t *testing.T, sb integration.Sandbox) {
4629
4657
}
4630
4658
4631
4659
func testZstdRegistryCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4632
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
4660
+ integration .CheckFeatureCompat (t , sb ,
4661
+ integration .FeatureCacheExport ,
4662
+ integration .FeatureCacheImport ,
4663
+ integration .FeatureCacheBackendRegistry ,
4664
+ )
4633
4665
registry , err := sb .NewRegistry ()
4634
4666
if errors .Is (err , integration .ErrRequirements ) {
4635
4667
t .Skip (err .Error ())
@@ -4717,7 +4749,11 @@ func testBasicCacheImportExport(t *testing.T, sb integration.Sandbox, cacheOptio
4717
4749
}
4718
4750
4719
4751
func testBasicRegistryCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4720
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
4752
+ integration .CheckFeatureCompat (t , sb ,
4753
+ integration .FeatureCacheExport ,
4754
+ integration .FeatureCacheImport ,
4755
+ integration .FeatureCacheBackendRegistry ,
4756
+ )
4721
4757
registry , err := sb .NewRegistry ()
4722
4758
if errors .Is (err , integration .ErrRequirements ) {
4723
4759
t .Skip (err .Error ())
@@ -4734,7 +4770,11 @@ func testBasicRegistryCacheImportExport(t *testing.T, sb integration.Sandbox) {
4734
4770
}
4735
4771
4736
4772
func testMultipleRegistryCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4737
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
4773
+ integration .CheckFeatureCompat (t , sb ,
4774
+ integration .FeatureCacheExport ,
4775
+ integration .FeatureCacheImport ,
4776
+ integration .FeatureCacheBackendRegistry ,
4777
+ )
4738
4778
registry , err := sb .NewRegistry ()
4739
4779
if errors .Is (err , integration .ErrRequirements ) {
4740
4780
t .Skip (err .Error ())
@@ -4757,7 +4797,11 @@ func testMultipleRegistryCacheImportExport(t *testing.T, sb integration.Sandbox)
4757
4797
}
4758
4798
4759
4799
func testBasicLocalCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4760
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendLocal )
4800
+ integration .CheckFeatureCompat (t , sb ,
4801
+ integration .FeatureCacheExport ,
4802
+ integration .FeatureCacheImport ,
4803
+ integration .FeatureCacheBackendLocal ,
4804
+ )
4761
4805
dir := t .TempDir ()
4762
4806
im := CacheOptionsEntry {
4763
4807
Type : "local" ,
@@ -4775,7 +4819,11 @@ func testBasicLocalCacheImportExport(t *testing.T, sb integration.Sandbox) {
4775
4819
}
4776
4820
4777
4821
func testBasicS3CacheImportExport (t * testing.T , sb integration.Sandbox ) {
4778
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendS3 )
4822
+ integration .CheckFeatureCompat (t , sb ,
4823
+ integration .FeatureCacheExport ,
4824
+ integration .FeatureCacheImport ,
4825
+ integration .FeatureCacheBackendS3 ,
4826
+ )
4779
4827
4780
4828
opts := integration.MinioOpts {
4781
4829
Region : "us-east-1" ,
@@ -4813,7 +4861,11 @@ func testBasicS3CacheImportExport(t *testing.T, sb integration.Sandbox) {
4813
4861
}
4814
4862
4815
4863
func testBasicAzblobCacheImportExport (t * testing.T , sb integration.Sandbox ) {
4816
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendAzblob )
4864
+ integration .CheckFeatureCompat (t , sb ,
4865
+ integration .FeatureCacheExport ,
4866
+ integration .FeatureCacheImport ,
4867
+ integration .FeatureCacheBackendAzblob ,
4868
+ )
4817
4869
4818
4870
opts := integration.AzuriteOpts {
4819
4871
AccountName : "azblobcacheaccount" ,
@@ -4849,9 +4901,7 @@ func testBasicInlineCacheImportExport(t *testing.T, sb integration.Sandbox) {
4849
4901
integration .CheckFeatureCompat (t , sb ,
4850
4902
integration .FeatureDirectPush ,
4851
4903
integration .FeatureCacheExport ,
4852
- integration .FeatureCacheImport ,
4853
4904
integration .FeatureCacheBackendInline ,
4854
- integration .FeatureCacheBackendRegistry ,
4855
4905
)
4856
4906
requiresLinux (t )
4857
4907
registry , err := sb .NewRegistry ()
@@ -4904,6 +4954,7 @@ func testBasicInlineCacheImportExport(t *testing.T, sb integration.Sandbox) {
4904
4954
require .NoError (t , err )
4905
4955
4906
4956
ensurePruneAll (t , c , sb )
4957
+ integration .CheckFeatureCompat (t , sb , integration .FeatureCacheImport , integration .FeatureCacheBackendRegistry )
4907
4958
4908
4959
resp , err = c .Solve (sb .Context (), def , SolveOpt {
4909
4960
// specifying inline cache exporter is needed for reproducing containerimage.digest
@@ -5012,7 +5063,11 @@ func testBasicInlineCacheImportExport(t *testing.T, sb integration.Sandbox) {
5012
5063
}
5013
5064
5014
5065
func testBasicGhaCacheImportExport (t * testing.T , sb integration.Sandbox ) {
5015
- integration .CheckFeatureCompat (t , sb , integration .FeatureCacheExport , integration .FeatureCacheImport , integration .FeatureCacheBackendGha )
5066
+ integration .CheckFeatureCompat (t , sb ,
5067
+ integration .FeatureCacheExport ,
5068
+ integration .FeatureCacheImport ,
5069
+ integration .FeatureCacheBackendGha ,
5070
+ )
5016
5071
runtimeToken := os .Getenv ("ACTIONS_RUNTIME_TOKEN" )
5017
5072
cacheURL := os .Getenv ("ACTIONS_CACHE_URL" )
5018
5073
if runtimeToken == "" || cacheURL == "" {
0 commit comments