diff --git a/go.mod b/go.mod index 1a25283..d889fec 100644 --- a/go.mod +++ b/go.mod @@ -98,4 +98,5 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect ) -replace github.com/nektos/act => gitea.com/gitea/act v0.261.3 +// replace github.com/nektos/act => gitea.com/gitea/act v0.261.3 +replace github.com/nektos/act => gitea.krombel.de/krombel/act v0.261.3-1 diff --git a/go.sum b/go.sum index f09b861..9f9f88f 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -gitea.com/gitea/act v0.261.3 h1:BhiYpGJQKGq0XMYYICCYAN4KnsEWHyLbA6dxhZwFcV4= -gitea.com/gitea/act v0.261.3/go.mod h1:Pg5C9kQY1CEA3QjthjhlrqOC/QOT5NyWNjOjRHw23Ok= +gitea.krombel.de/krombel/act v0.261.3-1 h1:6Br1aNz5Nw/ZPIIOzdtpXAx/Yu0kKKj6NqPTgj4GyFc= +gitea.krombel.de/krombel/act v0.261.3-1/go.mod h1:Pg5C9kQY1CEA3QjthjhlrqOC/QOT5NyWNjOjRHw23Ok= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= diff --git a/internal/app/cmd/cache-server.go b/internal/app/cmd/cache-server.go index 21b3352..d34da54 100644 --- a/internal/app/cmd/cache-server.go +++ b/internal/app/cmd/cache-server.go @@ -17,9 +17,10 @@ import ( ) type cacheServerArgs struct { - Dir string - Host string - Port uint16 + Dir string + AdvertiseUrl string + Host string + Port uint16 } func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheServerArgs) func(cmd *cobra.Command, args []string) error { @@ -33,6 +34,7 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer var ( dir = cfg.Cache.Dir + url = cfg.Cache.AdvertiseUrl host = cfg.Cache.Host port = cfg.Cache.Port ) @@ -41,6 +43,9 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer if cacheArgs.Dir != "" { dir = cacheArgs.Dir } + if cacheArgs.AdvertiseUrl != "" { + url = cacheArgs.AdvertiseUrl + } if cacheArgs.Host != "" { host = cacheArgs.Host } @@ -50,6 +55,7 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer cacheHandler, err := artifactcache.StartHandler( dir, + url, host, port, log.StandardLogger().WithField("module", "cache_request"), diff --git a/internal/app/cmd/exec.go b/internal/app/cmd/exec.go index 87ce683..fc5c60a 100644 --- a/internal/app/cmd/exec.go +++ b/internal/app/cmd/exec.go @@ -351,7 +351,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command } // init a cache server - handler, err := artifactcache.StartHandler("", "", 0, log.StandardLogger().WithField("module", "cache_request")) + handler, err := artifactcache.StartHandler("", "", "", 0, log.StandardLogger().WithField("module", "cache_request")) if err != nil { return err } diff --git a/internal/app/run/runner.go b/internal/app/run/runner.go index 710bb47..d0246bc 100644 --- a/internal/app/run/runner.go +++ b/internal/app/run/runner.go @@ -58,6 +58,7 @@ func NewRunner(cfg *config.Config, reg *config.Registration, cli client.Client) } else { cacheHandler, err := artifactcache.StartHandler( cfg.Cache.Dir, + cfg.Cache.AdvertiseUrl, cfg.Cache.Host, cfg.Cache.Port, log.StandardLogger().WithField("module", "cache_request"), diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go index afc34b9..7f49ec4 100644 --- a/internal/pkg/config/config.go +++ b/internal/pkg/config/config.go @@ -38,6 +38,7 @@ type Cache struct { Enabled *bool `yaml:"enabled"` // Enabled indicates whether caching is enabled. It is a pointer to distinguish between false and not set. If not set, it will be true. Dir string `yaml:"dir"` // Dir specifies the directory path for caching. Host string `yaml:"host"` // Host specifies the caching host. + AdvertiseUrl string `yaml:"advertise_url"` // Host specifies the caching host. Port uint16 `yaml:"port"` // Port specifies the caching port. ExternalServer string `yaml:"external_server"` // ExternalServer specifies the URL of external cache server }