From ada105163f02fcdc751408dc8c21b228b36aa5a4 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Arango Gutierrez Date: Thu, 1 Aug 2024 17:03:30 +0200 Subject: [PATCH] Fix INPUT_* handling Signed-off-by: Carlos Eduardo Arango Gutierrez --- cmd/action/ci/ci.go | 38 +++++++++++++++++++++++++++++++++++++ cmd/action/ci/entrypoint.go | 28 --------------------------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/cmd/action/ci/ci.go b/cmd/action/ci/ci.go index b1031373d..4e07fb54e 100644 --- a/cmd/action/ci/ci.go +++ b/cmd/action/ci/ci.go @@ -35,6 +35,12 @@ const ( func Run(log *logger.FunLogger) error { log.Info("Holodeck Settting up test environment") + // Get GitHub Actions INPUT_* vars + err := readInputs() + if err != nil { + return err + } + if _, err := os.Stat(cachedir); err == nil { if err := cleanup(log); err != nil { return err @@ -54,6 +60,38 @@ func Run(log *logger.FunLogger) error { return nil } +// readInputs reads GitHub Actions Inputs +// INPUT_* vars are optional since v0.2 of the action +// Users can set the variables on self hosted runners. +func readInputs() error { + // Get INPUT_AWS_SSH_KEY to set AWS_SSH_KEY + sshKey := os.Getenv("INPUT_AWS_SSH_KEY") + if sshKey != "" { + err := os.Setenv("AWS_SSH_KEY", sshKey) + if err != nil { + return fmt.Errorf("failed to set AWS_SSH_KEY: %v", err) + } + } + // Map INPUT_AWS_ACCESS_KEY_ID and INPUT_AWS_SECRET_ACCESS_KEY + // to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY + accessKeyID := os.Getenv("INPUT_AWS_ACCESS_KEY_ID") + if accessKeyID != "" { + err := os.Setenv("AWS_ACCESS_KEY_ID", accessKeyID) + if err != nil { + return fmt.Errorf("failed to set AWS_ACCESS_KEY_ID: %v", err) + } + } + secretAccessKey := os.Getenv("INPUT_AWS_SECRET_ACCESS_KEY") + if secretAccessKey != "" { + err := os.Setenv("AWS_SECRET_ACCESS_KEY", secretAccessKey) + if err != nil { + return fmt.Errorf("failed to set AWS_SECRET_ACCESS_KEY: %v", err) + } + } + + return nil +} + func setCfgName(cfg *v1alpha1.Environment) { sha := os.Getenv("GITHUB_SHA") attempt := os.Getenv("GITHUB_RUN_ATTEMPT") diff --git a/cmd/action/ci/entrypoint.go b/cmd/action/ci/entrypoint.go index 8ddd0f543..0a54f3676 100644 --- a/cmd/action/ci/entrypoint.go +++ b/cmd/action/ci/entrypoint.go @@ -52,34 +52,6 @@ func entrypoint(log *logger.FunLogger) error { // Set default values for the environment setCfgName(&cfg) - // Read Inputs - // INPUT_* vars are optional since v0.2 of the action - // Users can set the variables on self hosted runners. - // Get INPUT_AWS_SSH_KEY to set AWS_SSH_KEY - sshKey := os.Getenv("INPUT_AWS_SSH_KEY") - if sshKey != "" { - err := os.Setenv("AWS_SSH_KEY", sshKey) - if err != nil { - return fmt.Errorf("failed to set AWS_SSH_KEY: %v", err) - } - } - // Map INPUT_AWS_ACCESS_KEY_ID and INPUT_AWS_SECRET_ACCESS_KEY - // to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY - accessKeyID := os.Getenv("INPUT_AWS_ACCESS_KEY_ID") - if accessKeyID != "" { - err := os.Setenv("AWS_ACCESS_KEY_ID", accessKeyID) - if err != nil { - return fmt.Errorf("failed to set AWS_ACCESS_KEY_ID: %v", err) - } - } - secretAccessKey := os.Getenv("INPUT_AWS_SECRET_ACCESS_KEY") - if secretAccessKey != "" { - err := os.Setenv("AWS_SECRET_ACCESS_KEY", secretAccessKey) - if err != nil { - return fmt.Errorf("failed to set AWS_SECRET_ACCESS_KEY: %v", err) - } - } - provider, err := newProvider(log, &cfg) if err != nil { return fmt.Errorf("failed to create provider: %v", err)