Fix EACCESS error regarding /opt/hostedtoolcache

This commit is contained in:
Kristófer 2024-01-29 17:30:16 +00:00
parent cabec6625f
commit b2a8394d33
No known key found for this signature in database
GPG Key ID: ED62024971AA0A90
3 changed files with 21 additions and 7 deletions

View File

@ -388,7 +388,12 @@ func newStepContainer(ctx context.Context, step step, image string, cmd []string
envList = append(envList, fmt.Sprintf("%s=%s", k, v))
}
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
toolCache, found := os.LookupEnv("RUNNER_TOOL_CACHE")
if found {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", toolCache))
} else {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
}
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_OS", "Linux"))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_ARCH", container.RunnerArch(ctx)))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TEMP", "/tmp"))

View File

@ -264,7 +264,12 @@ func (rc *RunContext) startJobContainer() common.Executor {
envList := make([]string, 0)
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
toolCache, found := os.LookupEnv("RUNNER_TOOL_CACHE")
if found {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", toolCache))
} else {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
}
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_OS", "Linux"))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_ARCH", container.RunnerArch(ctx)))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TEMP", "/tmp"))
@ -598,7 +603,7 @@ func (rc *RunContext) steps() []*model.Step {
// Executor returns a pipeline executor for all the steps in the job
func (rc *RunContext) Executor() (common.Executor, error) {
var executor common.Executor
var jobType, err = rc.Run.Job().Type()
jobType, err := rc.Run.Job().Type()
switch jobType {
case model.JobTypeDefault:

View File

@ -3,6 +3,7 @@ package runner
import (
"context"
"fmt"
"os"
"strings"
"github.com/kballard/go-shellquote"
@ -85,9 +86,7 @@ func (sd *stepDocker) runUsesContainer() common.Executor {
}
}
var (
ContainerNewContainer = container.NewContainer
)
var ContainerNewContainer = container.NewContainer
func (sd *stepDocker) newStepContainer(ctx context.Context, image string, cmd []string, entrypoint []string) container.Container {
rc := sd.RunContext
@ -107,7 +106,12 @@ func (sd *stepDocker) newStepContainer(ctx context.Context, image string, cmd []
envList = append(envList, fmt.Sprintf("%s=%s", k, v))
}
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
toolCache, found := os.LookupEnv("RUNNER_TOOL_CACHE")
if found {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", toolCache))
} else {
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TOOL_CACHE", "/opt/hostedtoolcache"))
}
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_OS", "Linux"))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_ARCH", container.RunnerArch(ctx)))
envList = append(envList, fmt.Sprintf("%s=%s", "RUNNER_TEMP", "/tmp"))