From e0078cfce39e6b4b0ec4fb5e47c970b90d674598 Mon Sep 17 00:00:00 2001 From: silverwind Date: Tue, 27 Jun 2023 20:10:48 +0200 Subject: [PATCH 1/2] Add support for Gitea Actions --- supportscolor.go | 2 +- supportscolor_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/supportscolor.go b/supportscolor.go index f2c7126..ce3323f 100644 --- a/supportscolor.go +++ b/supportscolor.go @@ -210,7 +210,7 @@ func supportsColor(config *configuration) ColorLevel { } if _, ci := env.LookupEnv("CI"); ci { - var ciEnvNames = []string{"TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"} + var ciEnvNames = []string{"TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "GITEA_ACTIONS", "BUILDKITE", "DRONE"} for _, ciEnvName := range ciEnvNames { _, exists := env.LookupEnv(ciEnvName) if exists { diff --git a/supportscolor_test.go b/supportscolor_test.go index 6d00192..01c385b 100644 --- a/supportscolor_test.go +++ b/supportscolor_test.go @@ -292,7 +292,7 @@ func TestReturnBasicIfTravis(t *testing.T) { } func TestReturnBasicIfCI(t *testing.T) { - for _, ci := range []string{"CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"} { + for _, ci := range []string{"CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "GITEA_ACTIONS", "BUILDKITE", "DRONE"} { result := SupportsColor(0, setEnvironment(&testEnvironment{ env: map[string]string{"CI": "true", ci: "true"}, })) From a9cd1b677433ac1b857f41e39a562351bf13b2d6 Mon Sep 17 00:00:00 2001 From: silverwind Date: Tue, 27 Jun 2023 23:35:15 +0200 Subject: [PATCH 2/2] return Ansi16m for GITHUB_ACTIONS and GITEA_ACTIONS --- supportscolor.go | 10 +++++++++- supportscolor_test.go | 14 +++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/supportscolor.go b/supportscolor.go index ce3323f..0059489 100644 --- a/supportscolor.go +++ b/supportscolor.go @@ -210,7 +210,15 @@ func supportsColor(config *configuration) ColorLevel { } if _, ci := env.LookupEnv("CI"); ci { - var ciEnvNames = []string{"TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "GITEA_ACTIONS", "BUILDKITE", "DRONE"} + var trueColorEnvNames = []string{"GITHUB_ACTIONS", "GITEA_ACTIONS"} + for _, trueColorEnvName := range trueColorEnvNames { + _, exists := env.LookupEnv(trueColorEnvName) + if exists { + return Ansi16m + } + } + + var ciEnvNames = []string{"TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"} for _, ciEnvName := range ciEnvNames { _, exists := env.LookupEnv(ciEnvName) if exists { diff --git a/supportscolor_test.go b/supportscolor_test.go index 01c385b..ae3d27c 100644 --- a/supportscolor_test.go +++ b/supportscolor_test.go @@ -291,8 +291,20 @@ func TestReturnBasicIfTravis(t *testing.T) { } } +func TestReturnTrueColorIfActions(t *testing.T) { + for _, ci := range []string{"GITHUB_ACTIONS", "GITEA_ACTIONS"} { + result := SupportsColor(0, setEnvironment(&testEnvironment{ + env: map[string]string{"CI": "true", ci: "true"}, + })) + + if result.Level != Ansi16m { + t.Errorf("%v: Expected %v, got %v", ci, Ansi16m, result.Level) + } + } +} + func TestReturnBasicIfCI(t *testing.T) { - for _, ci := range []string{"CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "GITEA_ACTIONS", "BUILDKITE", "DRONE"} { + for _, ci := range []string{"CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"} { result := SupportsColor(0, setEnvironment(&testEnvironment{ env: map[string]string{"CI": "true", ci: "true"}, }))