From 6e02241ef14acc92847c67377b2db27b68f0b97b Mon Sep 17 00:00:00 2001 From: dnitsch Date: Sat, 29 Mar 2025 14:06:54 +0000 Subject: [PATCH 1/4] fix: rename to foundry org update tests to run in parallel --- .gitignore | 1 + README.md | 2 +- aws-cli-auth.go | 2 +- cmd/clear.go | 4 +- cmd/cmd_test.go | 2 +- cmd/saml.go | 6 +- cmd/specific.go | 2 +- docs/install.md | 10 +- go.mod | 63 +++++----- go.sum | 118 +++++++++--------- internal/cmdutils/cmdutils.go | 4 +- internal/cmdutils/cmdutils_test.go | 9 +- .../credentialexchange_test.go | 2 +- internal/credentialexchange/helper_test.go | 2 +- internal/credentialexchange/secret.go | 4 + internal/credentialexchange/secret_test.go | 12 +- internal/web/web.go | 2 +- internal/web/web_test.go | 15 ++- 18 files changed, 137 insertions(+), 123 deletions(-) diff --git a/.gitignore b/.gitignore index 870bc55..9652f94 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ vendor/ .vscode .ignore* +local/ diff --git a/README.md b/README.md index be64723..a14bf36 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Go Report Card](https://goreportcard.com/badge/github.com/dnitsch/aws-cli-auth)](https://goreportcard.com/report/github.com/dnitsch/aws-cli-auth) +[![Go Report Card](https://goreportcard.com/badge/github.com/DevLabFoundry/aws-cli-auth)](https://goreportcard.com/report/github.com/DevLabFoundry/aws-cli-auth) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=dnitsch_aws-cli-auth&metric=bugs)](https://sonarcloud.io/summary/new_code?id=dnitsch_aws-cli-auth) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=dnitsch_aws-cli-auth&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=dnitsch_aws-cli-auth) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=dnitsch_aws-cli-auth&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=dnitsch_aws-cli-auth) diff --git a/aws-cli-auth.go b/aws-cli-auth.go index a0eb540..6801c15 100755 --- a/aws-cli-auth.go +++ b/aws-cli-auth.go @@ -3,7 +3,7 @@ package main import ( "context" - "github.com/dnitsch/aws-cli-auth/cmd" + "github.com/DevLabFoundry/aws-cli-auth/cmd" ) func main() { diff --git a/cmd/clear.go b/cmd/clear.go index ea1d5ff..c75da22 100644 --- a/cmd/clear.go +++ b/cmd/clear.go @@ -5,8 +5,8 @@ import ( "os" "os/user" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" - "github.com/dnitsch/aws-cli-auth/internal/web" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/web" "github.com/spf13/cobra" ) diff --git a/cmd/cmd_test.go b/cmd/cmd_test.go index e258d25..f96d39a 100644 --- a/cmd/cmd_test.go +++ b/cmd/cmd_test.go @@ -5,7 +5,7 @@ import ( "io" "testing" - "github.com/dnitsch/aws-cli-auth/cmd" + "github.com/DevLabFoundry/aws-cli-auth/cmd" ) func Test_helpers_for_command(t *testing.T) { diff --git a/cmd/saml.go b/cmd/saml.go index 0baaecc..8e14c68 100755 --- a/cmd/saml.go +++ b/cmd/saml.go @@ -10,9 +10,9 @@ import ( "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/sts" - "github.com/dnitsch/aws-cli-auth/internal/cmdutils" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" - "github.com/dnitsch/aws-cli-auth/internal/web" + "github.com/DevLabFoundry/aws-cli-auth/internal/cmdutils" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/web" "github.com/spf13/cobra" ) diff --git a/cmd/specific.go b/cmd/specific.go index 1b90ec0..ff38917 100644 --- a/cmd/specific.go +++ b/cmd/specific.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/sts" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" "github.com/spf13/cobra" ) diff --git a/docs/install.md b/docs/install.md index 6d7e5d5..417131b 100644 --- a/docs/install.md +++ b/docs/install.md @@ -3,7 +3,7 @@ MacOS ```bash -curl -L https://github.com/dnitsch/aws-cli-auth/releases/latest/download/aws-cli-auth-darwin -o aws-cli-auth +curl -L https://github.com/DevLabFoundry/aws-cli-auth/releases/latest/download/aws-cli-auth-darwin -o aws-cli-auth chmod +x aws-cli-auth sudo mv aws-cli-auth /usr/local/bin ``` @@ -11,7 +11,7 @@ sudo mv aws-cli-auth /usr/local/bin Linux ```bash -curl -L https://github.com/dnitsch/aws-cli-auth/releases/latest/download/aws-cli-auth-linux -o aws-cli-auth +curl -L https://github.com/DevLabFoundry/aws-cli-auth/releases/latest/download/aws-cli-auth-linux -o aws-cli-auth chmod +x aws-cli-auth sudo mv aws-cli-auth /usr/local/bin ``` @@ -19,17 +19,17 @@ sudo mv aws-cli-auth /usr/local/bin Windows ```posh -iwr -Uri "https://github.com/dnitsch/aws-cli-auth/releases/latest/download/aws-cli-auth-windows.exe" -OutFile "aws-cli-auth" +iwr -Uri "https://github.com/DevLabFoundry/aws-cli-auth/releases/latest/download/aws-cli-auth-windows.exe" -OutFile "aws-cli-auth" ``` ## Versioned -Download a specific version from [Releases page](https://github.com/dnitsch/aws-cli-auth/releases) +Download a specific version from [Releases page](https://github.com/DevLabFoundry/aws-cli-auth/releases) example for MacOS ```bash -curl -L https://github.com/dnitsch/aws-cli-auth/releases/download/v0.11.0/aws-cli-auth-darwin -o aws-cli-auth +curl -L https://github.com/DevLabFoundry/aws-cli-auth/releases/download/v0.11.0/aws-cli-auth-darwin -o aws-cli-auth chmod +x aws-cli-auth sudo mv aws-cli-auth /usr/local/bin ``` diff --git a/go.mod b/go.mod index 464424b..3ceaead 100644 --- a/go.mod +++ b/go.mod @@ -1,46 +1,43 @@ -module github.com/dnitsch/aws-cli-auth +module github.com/DevLabFoundry/aws-cli-auth -go 1.21 +go 1.24.1 require ( - github.com/aws/aws-sdk-go-v2 v1.24.1 - github.com/aws/smithy-go v1.19.0 + github.com/aws/aws-sdk-go-v2 v1.36.3 + github.com/aws/aws-sdk-go-v2/config v1.29.12 + github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 + github.com/aws/smithy-go v1.22.3 + github.com/go-rod/rod v0.116.2 github.com/mitchellh/go-ps v1.0.0 - github.com/spf13/cobra v1.8.0 - github.com/zalando/go-keyring v0.2.3 + github.com/spf13/cobra v1.9.1 + github.com/werf/lockgate v0.1.1 + github.com/zalando/go-keyring v0.2.6 + gopkg.in/ini.v1 v1.67.0 ) require ( - github.com/alessio/shellescape v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 // indirect - github.com/danieljoos/wincred v1.2.1 // indirect + al.essio.dev/pkg/shellescape v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.65 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.25.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.0 // indirect + github.com/danieljoos/wincred v1.2.2 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect - github.com/gofrs/flock v0.8.1 // indirect + github.com/gofrs/flock v0.12.1 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/ysmood/fetchup v0.2.4 // indirect + github.com/spf13/pflag v1.0.6 // indirect + github.com/ysmood/fetchup v0.3.0 // indirect github.com/ysmood/goob v0.4.0 // indirect - github.com/ysmood/got v0.39.4 // indirect + github.com/ysmood/got v0.40.0 // indirect github.com/ysmood/gson v0.7.3 // indirect - github.com/ysmood/leakless v0.8.0 // indirect - golang.org/x/crypto v0.18.0 // indirect -) - -require ( - github.com/aws/aws-sdk-go-v2/config v1.26.6 - github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 - github.com/go-rod/rod v0.114.6 - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/werf/lockgate v0.1.1 - golang.org/x/sys v0.16.0 // indirect - gopkg.in/ini.v1 v1.67.0 + github.com/ysmood/leakless v0.9.0 // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/sys v0.31.0 // indirect ) diff --git a/go.sum b/go.sum index a7ff8eb..b912322 100644 --- a/go.sum +++ b/go.sum @@ -1,44 +1,44 @@ -github.com/alessio/shellescape v1.4.2 h1:MHPfaU+ddJ0/bYWpgIeUnQUqKrlJ1S7BfEYPM4uEoM0= -github.com/alessio/shellescape v1.4.2/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= -github.com/aws/aws-sdk-go-v2 v1.24.1 h1:xAojnj+ktS95YZlDf0zxWBkbFtymPeDP+rvUQIH3uAU= -github.com/aws/aws-sdk-go-v2 v1.24.1/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4= -github.com/aws/aws-sdk-go-v2/config v1.26.6 h1:Z/7w9bUqlRI0FFQpetVuFYEsjzE3h7fpU6HuGmfPL/o= -github.com/aws/aws-sdk-go-v2/config v1.26.6/go.mod h1:uKU6cnDmYCvJ+pxO9S4cWDb2yWWIH5hra+32hVh1MI4= -github.com/aws/aws-sdk-go-v2/credentials v1.16.16 h1:8q6Rliyv0aUFAVtzaldUEcS+T5gbadPbWdV1WcAddK8= -github.com/aws/aws-sdk-go-v2/credentials v1.16.16/go.mod h1:UHVZrdUsv63hPXFo1H7c5fEneoVo9UXiz36QG1GEPi0= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 h1:c5I5iH+DZcH3xOIMlz3/tCKJDaHFwYEmxvlh2fAcFo8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11/go.mod h1:cRrYDYAMUohBJUtUnOhydaMHtiK/1NZ0Otc9lIb6O0Y= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 h1:vF+Zgd9s+H4vOXd5BMaPWykta2a6Ih0AKLq/X6NYKn4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10/go.mod h1:6BkRjejp/GR4411UGqkX8+wFMbFbqsUIimfK4XjOKR4= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 h1:nYPe006ktcqUji8S2mqXf9c/7NdiKriOwMvWQHgYztw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10/go.mod h1:6UV4SZkVvmODfXKql4LCbaZUpF7HO2BX38FgBf9ZOLw= -github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 h1:n3GDfwqF2tzEkXlv5cuy4iy7LpKDtqDMcNLfZDu9rls= -github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 h1:DBYTXwIGQSGs9w4jKm60F5dmCQ3EEruxdc0MFh+3EY4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10/go.mod h1:wohMUQiFdzo0NtxbBg0mSRGZ4vL3n0dKjLTINdcIino= -github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 h1:eajuO3nykDPdYicLlP3AGgOyVN3MOlFmZv7WGTuJPow= -github.com/aws/aws-sdk-go-v2/service/sso v1.18.7/go.mod h1:+mJNDdF+qiUlNKNC3fxn74WWNN+sOiGOEImje+3ScPM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 h1:QPMJf+Jw8E1l7zqhZmMlFw6w1NmfkfiSK8mS4zOx3BA= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7/go.mod h1:ykf3COxYI0UJmxcfcxcVuz7b6uADi1FkiUz6Eb7AgM8= -github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 h1:NzO4Vrau795RkUdSHKEwiR01FaGzGOH1EETJ+5QHnm0= -github.com/aws/aws-sdk-go-v2/service/sts v1.26.7/go.mod h1:6h2YuIoxaMSCFf5fi1EgZAwdfkGMgDY+DVfa61uLe4U= -github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM= -github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= -github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= +al.essio.dev/pkg/shellescape v1.6.0 h1:NxFcEqzFSEVCGN2yq7Huv/9hyCEGVa/TncnOOBBeXHA= +al.essio.dev/pkg/shellescape v1.6.0/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= +github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38yqWM= +github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg= +github.com/aws/aws-sdk-go-v2/config v1.29.12 h1:Y/2a+jLPrPbHpFkpAAYkVEtJmxORlXoo5k2g1fa2sUo= +github.com/aws/aws-sdk-go-v2/config v1.29.12/go.mod h1:xse1YTjmORlb/6fhkWi8qJh3cvZi4JoVNhc+NbJt4kI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.65 h1:q+nV2yYegofO/SUXruT+pn4KxkxmaQ++1B/QedcKBFM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.65/go.mod h1:4zyjAuGOdikpNYiSGpsGz8hLGmUzlY8pc8r9QQ/RXYQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 h1:x793wxmUWVDhshP8WW2mlnXuFrO4cOd3HLBroh1paFw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod h1:Jpne2tDnYiFascUEs2AWHJL9Yp7A5ZVy3TNyxaAjD6M= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 h1:ZK5jHhnrioRkUNOc+hOgQKlUL5JeC3S6JgLxtQ+Rm0Q= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34/go.mod h1:p4VfIceZokChbA9FzMbRGz5OV+lekcVtHlPKEO0gSZY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 h1:SZwFm17ZUNNg5Np0ioo/gq8Mn6u9w19Mri8DnJ15Jf0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34/go.mod h1:dFZsC0BLo346mvKQLWmoJxT+Sjp+qcVR1tRVHQGOH9Q= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 h1:eAh2A4b5IzM/lum78bZ590jy36+d/aFLgKF/4Vd1xPE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod h1:0yKJC/kb8sAnmlYa6Zs3QVYqaC8ug2AbnNChv5Ox3uA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 h1:dM9/92u2F1JbDaGooxTq18wmmFzbJRfXfVfy96/1CXM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15/go.mod h1:SwFBy2vjtA0vZbjjaFtfN045boopadnoVPhu4Fv66vY= +github.com/aws/aws-sdk-go-v2/service/sso v1.25.2 h1:pdgODsAhGo4dvzC3JAG5Ce0PX8kWXrTZGx+jxADD+5E= +github.com/aws/aws-sdk-go-v2/service/sso v1.25.2/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.0 h1:90uX0veLKcdHVfvxhkWUQSCi5VabtwMLFutYiRke4oo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.0/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 h1:PZV5W8yk4OtH1JAuhV2PXwwO9v5G5Aoj+eMCn4T+1Kc= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.17/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4= +github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k= +github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/danieljoos/wincred v1.2.2 h1:774zMFJrqaeYCK2W57BgAem/MLi6mtSE47MB6BOJ0i0= +github.com/danieljoos/wincred v1.2.2/go.mod h1:w7w4Utbrz8lqeMbDAK0lkNJUv5sAOkFi7nd/ogr0Uh8= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-rod/rod v0.114.6 h1:NrutWvLGn6Vea+0ZpLSHQ2cT5UMTqk9DeO+V6xeJBxw= -github.com/go-rod/rod v0.114.6/go.mod h1:aiedSEFg5DwG/fnNbUOTPMTTWX3MRj6vIs/a684Mthw= +github.com/go-rod/rod v0.116.2 h1:A5t2Ky2A+5eD/ZJQr1EfsQSe5rms5Xof/qj296e+ZqA= +github.com/go-rod/rod v0.116.2/go.mod h1:H+CMO9SCNc2TJ2WfrG+pKhITz57uGNYU43qYHh438Mg= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= -github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E= +github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -50,40 +50,36 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/werf/lockgate v0.1.1 h1:S400JFYjtWfE4i4LY9FA8zx0fMdfui9DPrBiTciCrx4= github.com/werf/lockgate v0.1.1/go.mod h1:0yIFSLq9ausy6ejNxF5uUBf/Ib6daMAfXuCaTMZJzIE= -github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns= -github.com/ysmood/fetchup v0.2.4 h1:2kfWr/UrdiHg4KYRrxL2Jcrqx4DZYD+OtWu7WPBZl5o= -github.com/ysmood/fetchup v0.2.4/go.mod h1:hbysoq65PXL0NQeNzUczNYIKpwpkwFL4LXMDEvIQq9A= +github.com/ysmood/fetchup v0.3.0 h1:UhYz9xnLEVn2ukSuK3KCgcznWpHMdrmbsPpllcylyu8= +github.com/ysmood/fetchup v0.3.0/go.mod h1:hbysoq65PXL0NQeNzUczNYIKpwpkwFL4LXMDEvIQq9A= github.com/ysmood/goob v0.4.0 h1:HsxXhyLBeGzWXnqVKtmT9qM7EuVs/XOgkX7T6r1o1AQ= github.com/ysmood/goob v0.4.0/go.mod h1:u6yx7ZhS4Exf2MwciFr6nIM8knHQIE22lFpWHnfql18= -github.com/ysmood/gop v0.0.2/go.mod h1:rr5z2z27oGEbyB787hpEcx4ab8cCiPnKxn0SUHt6xzk= github.com/ysmood/gop v0.2.0 h1:+tFrG0TWPxT6p9ZaZs+VY+opCvHU8/3Fk6BaNv6kqKg= github.com/ysmood/gop v0.2.0/go.mod h1:rr5z2z27oGEbyB787hpEcx4ab8cCiPnKxn0SUHt6xzk= -github.com/ysmood/got v0.34.1/go.mod h1:yddyjq/PmAf08RMLSwDjPyCvHvYed+WjHnQxpH851LM= -github.com/ysmood/got v0.39.4 h1:8ru7J25Zmf/sMTNYOF2172xVkjQrPMJ3R5d6uymoqL8= -github.com/ysmood/got v0.39.4/go.mod h1:W7DdpuX6skL3NszLmAsC5hT7JAhuLZhByVzHTq874Qg= +github.com/ysmood/got v0.40.0 h1:ZQk1B55zIvS7zflRrkGfPDrPG3d7+JOza1ZkNxcc74Q= +github.com/ysmood/got v0.40.0/go.mod h1:W7DdpuX6skL3NszLmAsC5hT7JAhuLZhByVzHTq874Qg= github.com/ysmood/gotrace v0.6.0 h1:SyI1d4jclswLhg7SWTL6os3L1WOKeNn/ZtzVQF8QmdY= github.com/ysmood/gotrace v0.6.0/go.mod h1:TzhIG7nHDry5//eYZDYcTzuJLYQIkykJzCRIo4/dzQM= github.com/ysmood/gson v0.7.3 h1:QFkWbTH8MxyUTKPkVWAENJhxqdBa4lYTQWqZCiLG6kE= github.com/ysmood/gson v0.7.3/go.mod h1:3Kzs5zDl21g5F/BlLTNcuAGAYLKt2lV5G8D1zF3RNmg= -github.com/ysmood/leakless v0.8.0 h1:BzLrVoiwxikpgEQR0Lk8NyBN5Cit2b1z+u0mgL4ZJak= -github.com/ysmood/leakless v0.8.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ= -github.com/zalando/go-keyring v0.2.3 h1:v9CUu9phlABObO4LPWycf+zwMG7nlbb3t/B5wa97yms= -github.com/zalando/go-keyring v0.2.3/go.mod h1:HL4k+OXQfJUWaMnqyuSOc0drfGPX2b51Du6K+MRgZMk= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +github.com/ysmood/leakless v0.9.0 h1:qxCG5VirSBvmi3uynXFkcnLMzkphdh3xx5FtrORwDCU= +github.com/ysmood/leakless v0.9.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ= +github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s= +github.com/zalando/go-keyring v0.2.6/go.mod h1:2TCrxYrbUNYfNS/Kgy/LSrkSQzZ5UPVH85RwfczwvcI= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/internal/cmdutils/cmdutils.go b/internal/cmdutils/cmdutils.go index a5b662a..b251753 100644 --- a/internal/cmdutils/cmdutils.go +++ b/internal/cmdutils/cmdutils.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" - "github.com/dnitsch/aws-cli-auth/internal/web" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/web" ) var ( diff --git a/internal/cmdutils/cmdutils_test.go b/internal/cmdutils/cmdutils_test.go index f9538b9..6f4d1ac 100644 --- a/internal/cmdutils/cmdutils_test.go +++ b/internal/cmdutils/cmdutils_test.go @@ -10,12 +10,12 @@ import ( "testing" "time" + "github.com/DevLabFoundry/aws-cli-auth/internal/cmdutils" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/web" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/sts" "github.com/aws/aws-sdk-go-v2/service/sts/types" - "github.com/dnitsch/aws-cli-auth/internal/cmdutils" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" - "github.com/dnitsch/aws-cli-auth/internal/web" ) func AwsMockHandler(t *testing.T, mux *http.ServeMux) http.Handler { @@ -186,6 +186,8 @@ func (s *mockSecretApi) SaveAWSCredential(cred *credentialexchange.AWSCredential } func Test_GetSamlCreds_With(t *testing.T) { + t.Parallel() + ttests := map[string]struct { config func(t *testing.T) credentialexchange.CredentialConfig handler func(t *testing.T, awsMock bool) http.Handler @@ -466,6 +468,7 @@ func mockSsoHandler(t *testing.T) http.Handler { } func Test_Get_SSO_Creds_with(t *testing.T) { + t.Parallel() ttests := map[string]struct { config func(t *testing.T) credentialexchange.CredentialConfig handler func(t *testing.T) http.Handler diff --git a/internal/credentialexchange/credentialexchange_test.go b/internal/credentialexchange/credentialexchange_test.go index fb9bc1f..ab65349 100644 --- a/internal/credentialexchange/credentialexchange_test.go +++ b/internal/credentialexchange/credentialexchange_test.go @@ -13,7 +13,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/sts" "github.com/aws/aws-sdk-go-v2/service/sts/types" "github.com/aws/smithy-go" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" ) type mockAuthApi struct { diff --git a/internal/credentialexchange/helper_test.go b/internal/credentialexchange/helper_test.go index ab56f83..ee89c88 100644 --- a/internal/credentialexchange/helper_test.go +++ b/internal/credentialexchange/helper_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" ini "gopkg.in/ini.v1" ) diff --git a/internal/credentialexchange/secret.go b/internal/credentialexchange/secret.go index abc1aee..5bfbed5 100644 --- a/internal/credentialexchange/secret.go +++ b/internal/credentialexchange/secret.go @@ -68,6 +68,10 @@ func (k *keyRingImpl) Delete(service, user string) error { return keyring.Delete(service, user) } +func (k *keyRingImpl) DeleteAll(service string) error { + return keyring.DeleteAll(service) +} + func NewSecretStore(roleArn, namer, baseDir, username string) (*SecretStore, error) { lockDir := baseDir + "/aws-clie-auth-lock" locker, err := file_locker.NewFileLocker(lockDir) diff --git a/internal/credentialexchange/secret_test.go b/internal/credentialexchange/secret_test.go index f064225..5a92162 100644 --- a/internal/credentialexchange/secret_test.go +++ b/internal/credentialexchange/secret_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" "github.com/werf/lockgate" "github.com/zalando/go-keyring" ) @@ -35,9 +35,10 @@ func TestConvertKeyToRole(t *testing.T) { } type mockKeyRing struct { - set func(service, user, password string) error - get func(service, user string) (string, error) - delete func(service, user string) error + set func(service, user, password string) error + get func(service, user string) (string, error) + delete func(service, user string) error + deleteAll func(service string) error } func (m *mockKeyRing) Set(service, user, password string) error { @@ -49,6 +50,9 @@ func (m *mockKeyRing) Get(service, user string) (string, error) { func (m *mockKeyRing) Delete(service, user string) error { return m.delete(service, user) } +func (m *mockKeyRing) DeleteAll(service string) error { + return m.deleteAll(service) +} type mockLocker struct { acquire func(lockName string, opts lockgate.AcquireOptions) (bool, lockgate.LockHandle, error) diff --git a/internal/web/web.go b/internal/web/web.go index a5a21c3..b6c3e0f 100755 --- a/internal/web/web.go +++ b/internal/web/web.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" "github.com/go-rod/rod" "github.com/go-rod/rod/lib/launcher" ps "github.com/mitchellh/go-ps" diff --git a/internal/web/web_test.go b/internal/web/web_test.go index cc3a8bd..e7e1654 100644 --- a/internal/web/web_test.go +++ b/internal/web/web_test.go @@ -8,8 +8,8 @@ import ( "os" "testing" - "github.com/dnitsch/aws-cli-auth/internal/credentialexchange" - "github.com/dnitsch/aws-cli-auth/internal/web" + "github.com/DevLabFoundry/aws-cli-auth/internal/credentialexchange" + "github.com/DevLabFoundry/aws-cli-auth/internal/web" ) func mockIdpHandler(t *testing.T) http.Handler { @@ -82,6 +82,8 @@ SAMLResponse=dsicisud99u2ubf92e9euhre&RelayState= } func Test_WebUI_with_succesful_saml(t *testing.T) { + t.Parallel() + ts := httptest.NewServer(mockIdpHandler(t)) defer ts.Close() conf := credentialexchange.CredentialConfig{BaseConfig: credentialexchange.BaseConfig{}} @@ -105,6 +107,8 @@ func Test_WebUI_with_succesful_saml(t *testing.T) { } func Test_WebUI_timeout_and_return_error(t *testing.T) { + t.Parallel() + ts := httptest.NewServer(mockIdpHandler(t)) defer ts.Close() conf := credentialexchange.CredentialConfig{BaseConfig: credentialexchange.BaseConfig{}} @@ -126,6 +130,8 @@ func Test_WebUI_timeout_and_return_error(t *testing.T) { } func Test_ClearCache(t *testing.T) { + // t.Parallel() + ts := httptest.NewServer(mockIdpHandler(t)) defer ts.Close() tempDir, _ := os.MkdirTemp(os.TempDir(), "web-clear-saml-tester") @@ -139,7 +145,6 @@ func Test_ClearCache(t *testing.T) { if err := webUi.ForceKill(tempDir); err != nil { t.Errorf("expected , got: %s", err) } - } func mockSsoHandler(t *testing.T) http.Handler { @@ -172,6 +177,8 @@ func mockSsoHandler(t *testing.T) http.Handler { } func Test_WebUI_with_succesful_ssoLogin(t *testing.T) { + t.Parallel() + ts := httptest.NewServer(mockSsoHandler(t)) defer ts.Close() conf := credentialexchange.CredentialConfig{ @@ -200,6 +207,8 @@ func Test_WebUI_with_succesful_ssoLogin(t *testing.T) { } func Test_WebUI_with_timeout_ssoLogin(t *testing.T) { + t.Parallel() + ts := httptest.NewServer(mockSsoHandler(t)) defer ts.Close() conf := credentialexchange.CredentialConfig{ From d891113d50226977e92bcdd4f222f3099db1e225 Mon Sep 17 00:00:00 2001 From: dnitsch Date: Sat, 29 Mar 2025 14:09:37 +0000 Subject: [PATCH 2/4] fix: make tee for tests --- Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 090aea9..8db9797 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,9 @@ LDFLAGS := -ldflags="-s -w -X \"github.com/$(OWNER)/$(NAME)/cmd.Version=$(VERSIO .PHONY: test test_ci tidy install buildprep build buildmac buildwin test: test_prereq - go test ./... -v -mod=readonly -coverprofile=.coverage/out -race > .coverage/test.out ; \ + go test ./... -v -mod=readonly -coverprofile=.coverage/out -race | tee .coverage/test.out ; \ cat .coverage/test.out | go-junit-report > .coverage/report-junit.xml ; \ - gocov convert .coverage/out | gocov-xml > .coverage/report-cobertura.xml ; \ - cat .coverage/test.out + gocov convert .coverage/out | gocov-xml > .coverage/report-cobertura.xml test_ci: go test ./... -mod=readonly From d6e0198b06157a5403ec4f22fe231f2e83cd9b8d Mon Sep 17 00:00:00 2001 From: dnitsch Date: Sun, 30 Mar 2025 10:19:11 +0100 Subject: [PATCH 3/4] fix: run pr checks --- .github/workflows/pr.yml | 2 +- .github/workflows/release.yml | 10 +++++++++- Makefile | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cbeabd3..a6f574c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -28,7 +28,7 @@ jobs: pr: runs-on: ubuntu-latest container: - image: golang:1.21-bullseye + image: golang:1.24-bookworm needs: set-version env: REVISION: $GITHUB_SHA diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ed5bd90..b565eb0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,4 +59,12 @@ jobs: - name: release binary run: | make REVISION=$GITHUB_SHA GIT_TAG=${SEMVER} PAT=${{ secrets.GITHUB_TOKEN }} cross-build - make REVISION=$GITHUB_SHA GIT_TAG=${SEMVER} PAT=${{ secrets.GITHUB_TOKEN }} release + - name: Release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ needs.set-version.outputs.semVer }} + # TODO: add additional info to the release + generate_release_notes: true + token: ${{ secrets.GITHUB_TOKEN }} + files: ./dist/* + prerelease: true diff --git a/Makefile b/Makefile index 8db9797..02ab5c2 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -OWNER := dnitsch +OWNER := DevLabFoundry NAME := aws-cli-auth GIT_TAG := 0.11.11 VERSION := v$(GIT_TAG) From 7821faf265e015a56942f9912d2c5ce3f197d941 Mon Sep 17 00:00:00 2001 From: dnitsch Date: Sun, 30 Mar 2025 10:23:32 +0100 Subject: [PATCH 4/4] fix: deps on PR workflow --- .github/workflows/pr.yml | 1 + .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index a6f574c..a8dd582 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -39,6 +39,7 @@ jobs: run: | # Chromium dependencies apt-get update && apt-get install -y jq git \ + zip unzip \ libnss3 \ libxss1 \ libasound2 \ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b565eb0..3183fed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: release: runs-on: ubuntu-latest container: - image: golang:1.21-bullseye + image: golang:1.24-bookworm env: FOO: Bar needs: set-version