Skip to content

Commit

Permalink
Use build cache (#966)
Browse files Browse the repository at this point in the history
* add fluent string builder "commandbuilder"
* Added pipeline info parameters for Buildah Cache
* let radix-operator sync secrets across namespaces
* Add helm config
* use a global cache for all application components and environments, settled on /<app-name>/cache
* Rename Cache Registry to App Registry
* use overlay storage-driver instead of vfs
  • Loading branch information
Richard87 authored Nov 1, 2023
1 parent ca64b0c commit 829f390
Show file tree
Hide file tree
Showing 26 changed files with 282 additions and 53 deletions.
5 changes: 3 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"--IMAGE_TAG_NAME=server2=1.22.1-alpine-perl"
]
},
{
{
"name": "Launch-promote-pipeline",
"type": "go",
"request": "launch",
Expand Down Expand Up @@ -78,6 +78,7 @@
"RADIX_TEKTON_IMAGE": "radix-tekton:main-latest",
"RADIXOPERATOR_JOB_SCHEDULER": "radix-job-scheduler:main-latest",
"RADIX_CONTAINER_REGISTRY": "radixdev.azurecr.io",
"RADIX_APP_CONTAINER_REGISTRY": "radixdevapp.azurecr.io",
"RADIX_OAUTH_PROXY_DEFAULT_OIDC_ISSUER_URL": "https://login.microsoftonline.com/3aa4a235-b6e2-48d5-9195-7fcf05b459b0/v2.0",
"RADIX_OAUTH_PROXY_IMAGE": "quay.io/oauth2-proxy/oauth2-proxy:v7.2.0",
"RADIXOPERATOR_TENANT_ID": "3aa4a235-b6e2-48d5-9195-7fcf05b459b0",
Expand Down Expand Up @@ -124,4 +125,4 @@
"args": ["applicationconfig_test.go"]
}
]
}
}
4 changes: 2 additions & 2 deletions charts/radix-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: radix-operator
version: 1.23.13
appVersion: 1.43.13
version: 1.24.0
appVersion: 1.44.0
kubeVersion: ">=1.24.0"
description: Radix Operator
keywords:
Expand Down
2 changes: 2 additions & 0 deletions charts/radix-operator/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ spec:
value: {{ .Values.logLevel }}
- name: RADIX_CONTAINER_REGISTRY
value: {{ .Values.containerRegistry }}
- name: RADIX_APP_CONTAINER_REGISTRY
value: {{ .Values.appContainerRegistry }}
- name: RADIXOPERATOR_TENANT_ID
value: {{ .Values.tenantId }}
- name: RADIX_OAUTH_PROXY_DEFAULT_OIDC_ISSUER_URL
Expand Down
5 changes: 5 additions & 0 deletions charts/radix-operator/templates/radixapplication.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ spec:
items:
type: string
type: array
useBuildCache:
description: 'Defaults to true and requires useBuildKit to have
an effect. Note: All layers will be cached and can be available
for other Radix Apps. Do not add secrets to a Dockerfile layer.'
type: boolean
useBuildKit:
description: 'Enables BuildKit when building Dockerfile. More
info about BuildKit: https://docs.docker.com/build/buildkit/'
Expand Down
3 changes: 2 additions & 1 deletion charts/radix-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ appAliasBaseURL: app.dev.radix.equinor.com
dnsZone: dev.radix.equinor.com
radixZone: xx
containerRegistry: radixdev.azurecr.io
appContainerRegistry: radixdevapp.azurecr.io
tenantId: xx
subscriptionId: xx

Expand Down Expand Up @@ -78,7 +79,7 @@ serviceAccount:
# If not set, a name is generated using the fullname template
name: ""

resources:
resources:
limits:
memory: 1Gi
requests:
Expand Down
4 changes: 4 additions & 0 deletions json-schema/radixapplication.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
},
"type": "array"
},
"useBuildCache": {
"description": "Defaults to true and requires useBuildKit to have an effect. Note: All layers will be cached and can be available for other Radix Apps. Do not add secrets to a Dockerfile layer.",
"type": "boolean"
},
"useBuildKit": {
"description": "Enables BuildKit when building Dockerfile. More info about BuildKit: https://docs.docker.com/build/buildkit/",
"type": "boolean"
Expand Down
1 change: 1 addition & 0 deletions pipeline-runner/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ func setPipelineArgsFromArguments(cmd *cobra.Command, pipelineArgs *model.Pipeli
cmd.Flags().StringVar(&pipelineArgs.Clustertype, defaults.RadixClusterTypeEnvironmentVariable, "", "Cluster type")
cmd.Flags().StringVar(&pipelineArgs.Clustername, defaults.ClusternameEnvironmentVariable, "", "Cluster name")
cmd.Flags().StringVar(&pipelineArgs.ContainerRegistry, defaults.ContainerRegistryEnvironmentVariable, "", "Container registry")
cmd.Flags().StringVar(&pipelineArgs.AppContainerRegistry, defaults.AppContainerRegistryEnvironmentVariable, "", "App Container registry")
cmd.Flags().StringVar(&pipelineArgs.SubscriptionId, defaults.AzureSubscriptionIdEnvironmentVariable, "", "Azure Subscription ID")
cmd.Flags().StringVar(&pipelineArgs.RadixZone, defaults.RadixZoneEnvironmentVariable, "", "Radix zone")
cmd.Flags().StringVar(&pipelineArgs.RadixConfigFile, defaults.RadixConfigFileEnvironmentVariable, "", "Radix config file name. Example: /workspace/radixconfig.yaml")
Expand Down
2 changes: 2 additions & 0 deletions pipeline-runner/model/pipelineInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ type PipelineArguments struct {
Clustername string
// ContainerRegistry The name of the container registry
ContainerRegistry string
// AppContainerRegistry the name of the app container registry
AppContainerRegistry string
// SubscriptionId Azure subscription ID
SubscriptionId string
// Used to indicate debugging session
Expand Down
88 changes: 67 additions & 21 deletions pipeline-runner/steps/build_acr.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"time"

"github.com/equinor/radix-operator/pipeline-runner/model"
"github.com/equinor/radix-operator/pipeline-runner/utils/commandbuilder"
"github.com/equinor/radix-operator/pkg/apis/defaults"
"github.com/equinor/radix-operator/pkg/apis/kube"
v1 "github.com/equinor/radix-operator/pkg/apis/radix/v1"
Expand Down Expand Up @@ -264,6 +265,24 @@ func createACRBuildContainers(appName string, pipelineInfo *model.PipelineInfo,
},
},
},
{
Name: "BUILDAH_CACHE_USERNAME",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{
LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRTokenPasswordAppRegistrySecretName},
Key: "username",
},
},
},
{
Name: "BUILDAH_CACHE_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{
LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRTokenPasswordAppRegistrySecretName},
Key: "password",
},
},
},
}

envVars = append(envVars, buildSecrets...)
Expand All @@ -277,9 +296,11 @@ func createACRBuildContainers(appName string, pipelineInfo *model.PipelineInfo,
SecurityContext: buildContainerSecContext,
}
if isUsingBuildKit(pipelineInfo) {
containerCommand = getBuildahContainerCommand(pipelineInfo, containerRegistry, secretMountsArgsString,
componentImage.Context, componentImage.Dockerfile, componentImage.ImagePath,
clusterTypeImage, clusterNameImage, pushImage)
cacheImagePath := utils.GetImageCachePath(pipelineInfo.PipelineArguments.AppContainerRegistry, pipelineInfo.RadixApplication.Name)
useBuildCache := pipelineInfo.RadixApplication.Spec.Build.UseBuildCache == nil || *pipelineInfo.RadixApplication.Spec.Build.UseBuildCache
cacheContainerRegistry := pipelineInfo.PipelineArguments.AppContainerRegistry // Store application cache in the App Registry

containerCommand = getBuildahContainerCommand(containerRegistry, secretMountsArgsString, componentImage.Context, componentImage.Dockerfile, componentImage.ImagePath, clusterTypeImage, clusterNameImage, cacheContainerRegistry, cacheImagePath, useBuildCache, pushImage)
container.Command = containerCommand
container.Resources.Requests = map[corev1.ResourceName]resource.Quantity{
corev1.ResourceCPU: resource.MustParse(pipelineInfo.PipelineArguments.Builder.ResourcesRequestsCPU),
Expand Down Expand Up @@ -319,28 +340,53 @@ func getBuildAcrJobContainerVolumeMounts(azureServicePrincipleContext string, bu
return volumeMounts
}

func getBuildahContainerCommand(pipelineInfo *model.PipelineInfo, containerImageRegistry, secretArgsString, context, dockerFileName, imageTag, clusterTypeImageTag, clusterNameImageTag string, pushImage bool) []string {
cmd := fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_USERNAME} --password ${BUILDAH_PASSWORD} %s && "+
"/usr/bin/buildah build --storage-driver=vfs --isolation=chroot "+
"--jobs 0 %s --file %s%s "+
"--build-arg RADIX_GIT_COMMIT_HASH=\"${RADIX_GIT_COMMIT_HASH}\" "+
"--build-arg RADIX_GIT_TAGS=\"${RADIX_GIT_TAGS}\" "+
"--build-arg BRANCH=\"${BRANCH}\" "+
"--build-arg TARGET_ENVIRONMENTS=\"${TARGET_ENVIRONMENTS}\" "+
"--tag %s --tag %s --tag %s %s",
containerImageRegistry, secretArgsString, context, dockerFileName,
imageTag, clusterTypeImageTag, clusterNameImageTag,
context)
func getBuildahContainerCommand(containerImageRegistry, secretArgsString, context, dockerFileName, imageTag, clusterTypeImageTag, clusterNameImageTag, cacheContainerImageRegistry, cacheImagePath string, useBuildCache, pushImage bool) []string {

commandList := commandbuilder.NewCommandList()

commandList.AddStrCmd("/usr/bin/buildah login --username ${BUILDAH_USERNAME} --password ${BUILDAH_PASSWORD} %s", containerImageRegistry)
if useBuildCache {
commandList.AddStrCmd("/usr/bin/buildah login --username ${BUILDAH_CACHE_USERNAME} --password ${BUILDAH_CACHE_PASSWORD} %s", cacheContainerImageRegistry)
}

buildah := commandbuilder.NewCommand("/usr/bin/buildah build")
commandList.AddCmd(buildah)

buildah.
AddArgf("--storage-driver=overlay").
AddArgf("--isolation=chroot").
AddArgf("--jobs 0").
AddArgf(secretArgsString).
AddArgf("--file %s%s", context, dockerFileName).
AddArgf(`--build-arg RADIX_GIT_COMMIT_HASH="${RADIX_GIT_COMMIT_HASH}"`).
AddArgf(`--build-arg RADIX_GIT_TAGS="${RADIX_GIT_TAGS}"`).
AddArgf(`--build-arg BRANCH="${BRANCH}"`).
AddArgf(`--build-arg TARGET_ENVIRONMENTS="${TARGET_ENVIRONMENTS}"`)

if useBuildCache {
buildah.
AddArgf("--layers").
AddArgf("--cache-to=%s", cacheImagePath).
AddArgf("--cache-from=%s", cacheImagePath)
}

if pushImage {
buildah.
AddArgf("--tag %s", imageTag).
AddArgf("--tag %s", clusterTypeImageTag).
AddArgf("--tag %s", clusterNameImageTag)
}

buildah.AddArgf(context)

if pushImage {
cmd = fmt.Sprintf("%s && "+
"/usr/bin/buildah push --storage-driver=vfs %s && "+
"/usr/bin/buildah push --storage-driver=vfs %s && "+
"/usr/bin/buildah push --storage-driver=vfs %s",
cmd, imageTag, clusterTypeImageTag, clusterNameImageTag)
commandList.
AddStrCmd("/usr/bin/buildah push --storage-driver=overlay %s", imageTag).
AddStrCmd("/usr/bin/buildah push --storage-driver=overlay %s", clusterTypeImageTag).
AddStrCmd("/usr/bin/buildah push --storage-driver=overlay %s", clusterNameImageTag)
}

return []string{"/bin/bash", "-c", cmd}
return []string{"/bin/bash", "-c", commandList.String()}
}

func isUsingBuildKit(pipelineInfo *model.PipelineInfo) bool {
Expand Down
38 changes: 25 additions & 13 deletions pipeline-runner/steps/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ func (s *buildTestSuite) Test_BranchIsNotMapped_ShouldSkip() {
WithName(anyComponentName)).
BuildRA()

cli := steps.NewBuildStep(nil)
jobWaiter := pipelinewait.NewMockJobCompletionWaiter(s.ctrl)
jobWaiter.EXPECT().Wait(gomock.Any()).Return(nil).Times(0)
cli := steps.NewBuildStep(jobWaiter)
cli.Init(s.kubeClient, s.radixClient, s.kubeUtil, s.promClient, rr)

applicationConfig, _ := application.NewApplicationConfig(s.kubeClient, s.kubeUtil, s.radixClient, rr, ra)
Expand Down Expand Up @@ -196,6 +198,8 @@ func (s *buildTestSuite) Test_BuildDeploy_JobSpecAndDeploymentConsistent() {
{Name: "RADIX_GIT_TAGS", Value: gitTags},
{Name: "BUILDAH_USERNAME", ValueFrom: &corev1.EnvVarSource{SecretKeyRef: &corev1.SecretKeySelector{Key: "username", LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRServicePrincipleBuildahSecretName}}}},
{Name: "BUILDAH_PASSWORD", ValueFrom: &corev1.EnvVarSource{SecretKeyRef: &corev1.SecretKeySelector{Key: "password", LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRServicePrincipleBuildahSecretName}}}},
{Name: "BUILDAH_CACHE_USERNAME", ValueFrom: &corev1.EnvVarSource{SecretKeyRef: &corev1.SecretKeySelector{Key: "username", LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRTokenPasswordAppRegistrySecretName}}}},
{Name: "BUILDAH_CACHE_PASSWORD", ValueFrom: &corev1.EnvVarSource{SecretKeyRef: &corev1.SecretKeySelector{Key: "password", LocalObjectReference: corev1.LocalObjectReference{Name: defaults.AzureACRTokenPasswordAppRegistrySecretName}}}},
}
s.ElementsMatch(expectedEnv, job.Spec.Template.Spec.Containers[0].Env)

Expand Down Expand Up @@ -686,6 +690,7 @@ func (s *buildTestSuite) Test_BuildJobSpec_BuildKit() {
BuildKitImageBuilder: "anybuildkitimage:tag",
ImageTag: "anyimagetag",
ContainerRegistry: "anyregistry",
AppContainerRegistry: "anyappregistry",
Clustertype: "anyclustertype",
Clustername: "anyclustername",
Builder: model.Builder{ResourcesLimitsMemory: "100M", ResourcesRequestsCPU: "50m", ResourcesRequestsMemory: "50M"},
Expand All @@ -709,15 +714,16 @@ func (s *buildTestSuite) Test_BuildJobSpec_BuildKit() {
expectedBuildCmd := strings.Join(
[]string{
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_USERNAME} --password ${BUILDAH_PASSWORD} %s && ", pipeline.PipelineArguments.ContainerRegistry),
"/usr/bin/buildah build --storage-driver=vfs --isolation=chroot --jobs 0 ",
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_CACHE_USERNAME} --password ${BUILDAH_CACHE_PASSWORD} %s && ", pipeline.PipelineArguments.AppContainerRegistry),
"/usr/bin/buildah build --storage-driver=overlay --isolation=chroot --jobs 0 ",
fmt.Sprintf("--file %s%s ", "/workspace/path2/", dockerFile),
"--build-arg RADIX_GIT_COMMIT_HASH=\"${RADIX_GIT_COMMIT_HASH}\" ",
"--build-arg RADIX_GIT_TAGS=\"${RADIX_GIT_TAGS}\" ",
"--build-arg BRANCH=\"${BRANCH}\" ",
"--build-arg TARGET_ENVIRONMENTS=\"${TARGET_ENVIRONMENTS}\" ",
fmt.Sprintf("--tag %s/%s-%s:%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustertype, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustername, pipeline.PipelineArguments.ImageTag),
"--layers ",
fmt.Sprintf("--cache-to=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
fmt.Sprintf("--cache-from=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
"/workspace/path2/",
},
"",
Expand Down Expand Up @@ -747,6 +753,7 @@ func (s *buildTestSuite) Test_BuildJobSpec_BuildKit_PushImage() {
BuildKitImageBuilder: "anybuildkitimage:tag",
ImageTag: "anyimagetag",
ContainerRegistry: "anyregistry",
AppContainerRegistry: "anyappregistry",
Clustertype: "anyclustertype",
Clustername: "anyclustername",
PushImage: true,
Expand All @@ -771,19 +778,23 @@ func (s *buildTestSuite) Test_BuildJobSpec_BuildKit_PushImage() {
expectedBuildCmd := strings.Join(
[]string{
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_USERNAME} --password ${BUILDAH_PASSWORD} %s && ", pipeline.PipelineArguments.ContainerRegistry),
"/usr/bin/buildah build --storage-driver=vfs --isolation=chroot --jobs 0 ",
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_CACHE_USERNAME} --password ${BUILDAH_CACHE_PASSWORD} %s && ", pipeline.PipelineArguments.AppContainerRegistry),
"/usr/bin/buildah build --storage-driver=overlay --isolation=chroot --jobs 0 ",
fmt.Sprintf("--file %s%s ", "/workspace/path2/", dockerFile),
"--build-arg RADIX_GIT_COMMIT_HASH=\"${RADIX_GIT_COMMIT_HASH}\" ",
"--build-arg RADIX_GIT_TAGS=\"${RADIX_GIT_TAGS}\" ",
"--build-arg BRANCH=\"${BRANCH}\" ",
"--build-arg TARGET_ENVIRONMENTS=\"${TARGET_ENVIRONMENTS}\" ",
"--layers ",
fmt.Sprintf("--cache-to=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
fmt.Sprintf("--cache-from=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
fmt.Sprintf("--tag %s/%s-%s:%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustertype, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustername, pipeline.PipelineArguments.ImageTag),
"/workspace/path2/ && ",
fmt.Sprintf("/usr/bin/buildah push --storage-driver=vfs %s/%s-%s:%s && ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("/usr/bin/buildah push --storage-driver=vfs %s/%s-%s:%s-%s && ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustertype, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("/usr/bin/buildah push --storage-driver=vfs %s/%s-%s:%s-%s", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustername, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("/usr/bin/buildah push --storage-driver=overlay %s/%s-%s:%s && ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("/usr/bin/buildah push --storage-driver=overlay %s/%s-%s:%s-%s && ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustertype, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("/usr/bin/buildah push --storage-driver=overlay %s/%s-%s:%s-%s", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustername, pipeline.PipelineArguments.ImageTag),
},
"",
)
Expand Down Expand Up @@ -847,16 +858,17 @@ func (s *buildTestSuite) Test_BuildJobSpec_BuildKit_WithBuildSecrets() {
expectedBuildCmd := strings.Join(
[]string{
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_USERNAME} --password ${BUILDAH_PASSWORD} %s && ", pipeline.PipelineArguments.ContainerRegistry),
"/usr/bin/buildah build --storage-driver=vfs --isolation=chroot --jobs 0 ",
fmt.Sprintf("/usr/bin/buildah login --username ${BUILDAH_CACHE_USERNAME} --password ${BUILDAH_CACHE_PASSWORD} %s && ", pipeline.PipelineArguments.AppContainerRegistry),
"/usr/bin/buildah build --storage-driver=overlay --isolation=chroot --jobs 0 ",
"--secret id=SECRET1,src=/build-secrets/SECRET1 --secret id=SECRET2,src=/build-secrets/SECRET2 ",
fmt.Sprintf("--file %s%s ", "/workspace/path2/", dockerFile),
"--build-arg RADIX_GIT_COMMIT_HASH=\"${RADIX_GIT_COMMIT_HASH}\" ",
"--build-arg RADIX_GIT_TAGS=\"${RADIX_GIT_TAGS}\" ",
"--build-arg BRANCH=\"${BRANCH}\" ",
"--build-arg TARGET_ENVIRONMENTS=\"${TARGET_ENVIRONMENTS}\" ",
fmt.Sprintf("--tag %s/%s-%s:%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustertype, pipeline.PipelineArguments.ImageTag),
fmt.Sprintf("--tag %s/%s-%s:%s-%s ", pipeline.PipelineArguments.ContainerRegistry, appName, compName, pipeline.PipelineArguments.Clustername, pipeline.PipelineArguments.ImageTag),
"--layers ",
fmt.Sprintf("--cache-to=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
fmt.Sprintf("--cache-from=%s/%s/cache ", pipeline.PipelineArguments.AppContainerRegistry, appName),
"/workspace/path2/",
},
"",
Expand Down
2 changes: 1 addition & 1 deletion pipeline-runner/steps/prepare_pipelines.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"context"
"fmt"

pipelineinternal "github.com/equinor/radix-operator/pipeline-runner/internal"
"github.com/equinor/radix-operator/pipeline-runner/model"
pipelineDefaults "github.com/equinor/radix-operator/pipeline-runner/model/defaults"
pipelineinternal "github.com/equinor/radix-operator/pipeline-runner/utils"
pipelinewait "github.com/equinor/radix-operator/pipeline-runner/wait"
"github.com/equinor/radix-operator/pkg/apis/applicationconfig"
"github.com/equinor/radix-operator/pkg/apis/defaults"
Expand Down
2 changes: 1 addition & 1 deletion pipeline-runner/steps/run_pipelines.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"context"
"fmt"

pipelineinternal "github.com/equinor/radix-operator/pipeline-runner/internal"
"github.com/equinor/radix-operator/pipeline-runner/model"
pipelineDefaults "github.com/equinor/radix-operator/pipeline-runner/model/defaults"
pipelineinternal "github.com/equinor/radix-operator/pipeline-runner/utils"
pipelinewait "github.com/equinor/radix-operator/pipeline-runner/wait"
"github.com/equinor/radix-operator/pkg/apis/defaults"
jobUtil "github.com/equinor/radix-operator/pkg/apis/job"
Expand Down
Loading

0 comments on commit 829f390

Please sign in to comment.