Only try to load .env if it exists (#6714)

This commit is contained in:
6543
2026-06-12 20:43:14 +02:00
committed by GitHub
parent eb2d7fe4c7
commit c776564285
7 changed files with 47 additions and 32 deletions
+2 -7
View File
@@ -16,10 +16,7 @@ package main
import (
"context"
"fmt"
"os"
"github.com/joho/godotenv"
"github.com/rs/zerolog/log"
"go.woodpecker-ci.org/woodpecker/v3/cmd/agent/core"
@@ -27,6 +24,7 @@ import (
"go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/kubernetes"
"go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/local"
backend_types "go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/types"
"go.woodpecker-ci.org/woodpecker/v3/shared/dot_env"
"go.woodpecker-ci.org/woodpecker/v3/shared/utils"
)
@@ -37,10 +35,7 @@ var backends = []backend_types.Backend{
}
func main() {
if err := godotenv.Load(); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load .env: %s", err)
os.Exit(1)
}
dot_env.Load()
ctx := utils.WithContextSigtermCallback(context.Background(), func() {
log.Info().Msg("termination signal is received, shutting down agent")
+2 -6
View File
@@ -18,9 +18,7 @@ package main
import (
"fmt"
"os"
"github.com/joho/godotenv"
docs "github.com/urfave/cli-docs/v3"
"go.woodpecker-ci.org/woodpecker/v3/cmd/agent/core"
@@ -28,6 +26,7 @@ import (
"go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/kubernetes"
"go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/local"
backend_types "go.woodpecker-ci.org/woodpecker/v3/pipeline/backend/types"
"go.woodpecker-ci.org/woodpecker/v3/shared/dot_env"
)
var backends = []backend_types.Backend{
@@ -37,10 +36,7 @@ var backends = []backend_types.Backend{
}
func main() {
if err := godotenv.Load(); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load .env: %s", err)
os.Exit(1)
}
dot_env.Load()
app := core.GenApp(backends)
md, err := docs.ToMan(app)
+2 -6
View File
@@ -16,20 +16,16 @@ package main
import (
"context"
"fmt"
"os"
"github.com/joho/godotenv"
"github.com/rs/zerolog/log"
"go.woodpecker-ci.org/woodpecker/v3/shared/dot_env"
"go.woodpecker-ci.org/woodpecker/v3/shared/utils"
)
func main() {
if err := godotenv.Load(); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load .env: %s", err)
os.Exit(1)
}
dot_env.Load()
ctx := utils.WithContextSigtermCallback(context.Background(), func() {
log.Info().Msg("termination signal is received, terminate cli")
+2 -6
View File
@@ -18,21 +18,17 @@ package main
import (
"context"
"fmt"
"os"
"github.com/joho/godotenv"
"github.com/rs/zerolog/log"
_ "go.woodpecker-ci.org/woodpecker/v3/cmd/server/openapi"
"go.woodpecker-ci.org/woodpecker/v3/shared/dot_env"
"go.woodpecker-ci.org/woodpecker/v3/shared/utils"
)
func main() {
if err := godotenv.Load(); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load .env: %s", err)
os.Exit(1)
}
dot_env.Load()
ctx := utils.WithContextSigtermCallback(context.Background(), func() {
log.Info().Msg("termination signal is received, shutting down server")
+2 -6
View File
@@ -18,19 +18,15 @@ package main
import (
"fmt"
"os"
"github.com/joho/godotenv"
docs "github.com/urfave/cli-docs/v3"
_ "go.woodpecker-ci.org/woodpecker/v3/cmd/server/openapi"
"go.woodpecker-ci.org/woodpecker/v3/shared/dot_env"
)
func main() {
if err := godotenv.Load(); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load .env: %s", err)
os.Exit(1)
}
dot_env.Load()
app := genApp()
md, err := docs.ToMan(app)
+2 -1
View File
@@ -356,7 +356,8 @@ func (e *kube) WaitStep(ctx context.Context, step *types.Step, taskUUID string)
// After the informer signals completion, kubelet may not have finalized
// containerStatuses yet (phase=Succeeded before state.terminated is set).
// Retry with backoff to allow kubelet to catch up.
pod, err := backoff.Retry(ctx,
pod, err := backoff.Retry(
ctx,
func() (*kube_core_v1.Pod, error) {
p, err := e.client.CoreV1().Pods(e.config.GetNamespace(step.OrgID)).Get(ctx, podName, kube_meta_v1.GetOptions{})
if err != nil {
+35
View File
@@ -0,0 +1,35 @@
// Copyright 2026 Woodpecker Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dot_env
import (
"fmt"
"os"
"github.com/joho/godotenv"
)
const dotEnv = ".env"
func Load() {
if _, err := os.Stat(dotEnv); os.IsNotExist(err) {
return
}
if err := godotenv.Load(dotEnv); err != nil {
fmt.Fprintf(os.Stderr, "Error could not load %q: %s", dotEnv, err)
os.Exit(1)
}
}