From b6f299974ffdf601421b53870a6935b3f5822e87 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Mon, 16 Dec 2024 17:21:20 +0100 Subject: [PATCH 1/6] Fix testutil.RandomName to use the full character set (#2020) ## Changes It was using first 12 chars, that does not seem intended. ## Tests Existing tests. --- internal/testutil/helpers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/testutil/helpers.go b/internal/testutil/helpers.go index 69ed7595b..019a8e618 100644 --- a/internal/testutil/helpers.go +++ b/internal/testutil/helpers.go @@ -23,7 +23,7 @@ func RandomName(prefix ...string) string { randLen := 12 b := make([]byte, randLen) for i := range b { - b[i] = charset[rand.Intn(randLen)] + b[i] = charset[rand.Intn(len(charset))] } if len(prefix) > 0 { return fmt.Sprintf("%s%s", strings.Join(prefix, ""), b) From e60fe1bff2fa24751e358801abe34f60050c8084 Mon Sep 17 00:00:00 2001 From: Andrew Nester Date: Mon, 16 Dec 2024 17:34:22 +0100 Subject: [PATCH 2/6] Fixed downloading arm64 binaries (#2021) ## Changes Fixed downloading arm64 binaries Go 1.23 changed the way built binaries are prefixed on amd64, more details here: https://tip.golang.org/doc/go1.23#arm64 --- internal/bugbash/exec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/bugbash/exec.sh b/internal/bugbash/exec.sh index ac25b16ed..4a087dc66 100755 --- a/internal/bugbash/exec.sh +++ b/internal/bugbash/exec.sh @@ -31,7 +31,7 @@ function cli_snapshot_directory() { dir="${dir}_386" ;; arm64|aarch64) - dir="${dir}_arm64" + dir="${dir}_arm64_v8.0" ;; armv7l|armv8l) dir="${dir}_arm_6" From d7eac598cda4bd12aa75d7ff23f076189c13be46 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Tue, 17 Dec 2024 08:45:58 +0100 Subject: [PATCH 3/6] Move integration test helpers to `integration/internal` (#2022) ## Changes The `acc` package is exclusively used by integration tests, so it belongs under `integration/internal`. It's not the best name we can rename later. ## Tests n/a --- integration/assumptions/dashboard_assumptions_test.go | 2 +- integration/bundle/artifacts_test.go | 2 +- integration/bundle/basic_test.go | 2 +- integration/bundle/bind_resource_test.go | 2 +- integration/bundle/clusters_test.go | 2 +- integration/bundle/dashboards_test.go | 2 +- integration/bundle/deploy_test.go | 2 +- integration/bundle/deploy_then_remove_resources_test.go | 2 +- integration/bundle/deploy_to_shared_test.go | 2 +- integration/bundle/deployment_state_test.go | 2 +- integration/bundle/destroy_test.go | 2 +- integration/bundle/empty_bundle_test.go | 2 +- integration/bundle/environments_test.go | 2 +- integration/bundle/generate_job_test.go | 2 +- integration/bundle/generate_pipeline_test.go | 2 +- integration/bundle/init_test.go | 2 +- integration/bundle/job_metadata_test.go | 2 +- integration/bundle/local_state_staleness_test.go | 2 +- integration/bundle/python_wheel_test.go | 2 +- integration/bundle/spark_jar_test.go | 2 +- integration/cmd/clusters/clusters_test.go | 2 +- integration/cmd/fs/cat_test.go | 2 +- integration/cmd/fs/helpers_test.go | 2 +- integration/cmd/repos/repos_test.go | 2 +- integration/cmd/secrets/secrets_test.go | 2 +- integration/cmd/storage_credentials/storage_credentials_test.go | 2 +- integration/cmd/sync/sync_test.go | 2 +- integration/cmd/workspace/workspace_test.go | 2 +- {internal => integration/internal}/acc/debug.go | 0 {internal => integration/internal}/acc/fixtures.go | 0 {internal => integration/internal}/acc/workspace.go | 0 integration/libs/filer/helpers_test.go | 2 +- integration/libs/git/git_fetch_test.go | 2 +- integration/libs/locker/locker_test.go | 2 +- integration/libs/tags/tags_test.go | 2 +- integration/python/python_tasks_test.go | 2 +- 36 files changed, 33 insertions(+), 33 deletions(-) rename {internal => integration/internal}/acc/debug.go (100%) rename {internal => integration/internal}/acc/fixtures.go (100%) rename {internal => integration/internal}/acc/workspace.go (100%) diff --git a/integration/assumptions/dashboard_assumptions_test.go b/integration/assumptions/dashboard_assumptions_test.go index 51a809498..3a1dcc907 100644 --- a/integration/assumptions/dashboard_assumptions_test.go +++ b/integration/assumptions/dashboard_assumptions_test.go @@ -4,7 +4,7 @@ import ( "encoding/base64" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/dyn" "github.com/databricks/cli/libs/dyn/convert" diff --git a/integration/bundle/artifacts_test.go b/integration/bundle/artifacts_test.go index 3a5da721c..1b71a1c3d 100644 --- a/integration/bundle/artifacts_test.go +++ b/integration/bundle/artifacts_test.go @@ -12,7 +12,7 @@ import ( "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/resources" "github.com/databricks/cli/bundle/libraries" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" diff --git a/integration/bundle/basic_test.go b/integration/bundle/basic_test.go index e458706e0..79301b850 100644 --- a/integration/bundle/basic_test.go +++ b/integration/bundle/basic_test.go @@ -5,7 +5,7 @@ import ( "path/filepath" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/google/uuid" "github.com/stretchr/testify/require" diff --git a/integration/bundle/bind_resource_test.go b/integration/bundle/bind_resource_test.go index b51235770..508aa3410 100644 --- a/integration/bundle/bind_resource_test.go +++ b/integration/bundle/bind_resource_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" diff --git a/integration/bundle/clusters_test.go b/integration/bundle/clusters_test.go index 7992ecd7d..f9e5c9b64 100644 --- a/integration/bundle/clusters_test.go +++ b/integration/bundle/clusters_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/service/compute" "github.com/google/uuid" diff --git a/integration/bundle/dashboards_test.go b/integration/bundle/dashboards_test.go index 985ef8611..83b4b8b03 100644 --- a/integration/bundle/dashboards_test.go +++ b/integration/bundle/dashboards_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/service/dashboards" "github.com/databricks/databricks-sdk-go/service/workspace" diff --git a/integration/bundle/deploy_test.go b/integration/bundle/deploy_test.go index 2c3110190..0b37e5630 100644 --- a/integration/bundle/deploy_test.go +++ b/integration/bundle/deploy_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/databricks/cli/cmd/root" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" diff --git a/integration/bundle/deploy_then_remove_resources_test.go b/integration/bundle/deploy_then_remove_resources_test.go index b792d3623..052d84dd6 100644 --- a/integration/bundle/deploy_then_remove_resources_test.go +++ b/integration/bundle/deploy_then_remove_resources_test.go @@ -5,7 +5,7 @@ import ( "path/filepath" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/google/uuid" "github.com/stretchr/testify/assert" diff --git a/integration/bundle/deploy_to_shared_test.go b/integration/bundle/deploy_to_shared_test.go index c97933217..b4395f4c6 100644 --- a/integration/bundle/deploy_to_shared_test.go +++ b/integration/bundle/deploy_to_shared_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/google/uuid" "github.com/stretchr/testify/require" diff --git a/integration/bundle/deployment_state_test.go b/integration/bundle/deployment_state_test.go index a7e01643d..fff1504d2 100644 --- a/integration/bundle/deployment_state_test.go +++ b/integration/bundle/deployment_state_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/databricks/cli/bundle/deploy" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" "github.com/google/uuid" diff --git a/integration/bundle/destroy_test.go b/integration/bundle/destroy_test.go index 59d1816e0..f18138ce5 100644 --- a/integration/bundle/destroy_test.go +++ b/integration/bundle/destroy_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/apierr" "github.com/google/uuid" diff --git a/integration/bundle/empty_bundle_test.go b/integration/bundle/empty_bundle_test.go index 0cf9aad34..1ab240d13 100644 --- a/integration/bundle/empty_bundle_test.go +++ b/integration/bundle/empty_bundle_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/google/uuid" "github.com/stretchr/testify/require" ) diff --git a/integration/bundle/environments_test.go b/integration/bundle/environments_test.go index 4f831cf68..e0dc91532 100644 --- a/integration/bundle/environments_test.go +++ b/integration/bundle/environments_test.go @@ -3,7 +3,7 @@ package bundle_test import ( "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/google/uuid" "github.com/stretchr/testify/require" ) diff --git a/integration/bundle/generate_job_test.go b/integration/bundle/generate_job_test.go index 9d0b466ba..b68bb7d61 100644 --- a/integration/bundle/generate_job_test.go +++ b/integration/bundle/generate_job_test.go @@ -9,7 +9,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" diff --git a/integration/bundle/generate_pipeline_test.go b/integration/bundle/generate_pipeline_test.go index 303d5cb22..7843ec0c3 100644 --- a/integration/bundle/generate_pipeline_test.go +++ b/integration/bundle/generate_pipeline_test.go @@ -9,7 +9,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" diff --git a/integration/bundle/init_test.go b/integration/bundle/init_test.go index bc3757fde..f5c263ca3 100644 --- a/integration/bundle/init_test.go +++ b/integration/bundle/init_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/databricks/cli/bundle/config" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/iamutil" diff --git a/integration/bundle/job_metadata_test.go b/integration/bundle/job_metadata_test.go index f470b37da..a7290c6e3 100644 --- a/integration/bundle/job_metadata_test.go +++ b/integration/bundle/job_metadata_test.go @@ -10,7 +10,7 @@ import ( "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/metadata" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" "github.com/google/uuid" diff --git a/integration/bundle/local_state_staleness_test.go b/integration/bundle/local_state_staleness_test.go index c02a38bb1..398481504 100644 --- a/integration/bundle/local_state_staleness_test.go +++ b/integration/bundle/local_state_staleness_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/listing" "github.com/databricks/databricks-sdk-go/service/jobs" diff --git a/integration/bundle/python_wheel_test.go b/integration/bundle/python_wheel_test.go index a90642ecc..5cca1cb53 100644 --- a/integration/bundle/python_wheel_test.go +++ b/integration/bundle/python_wheel_test.go @@ -3,7 +3,7 @@ package bundle_test import ( "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" "github.com/google/uuid" diff --git a/integration/bundle/spark_jar_test.go b/integration/bundle/spark_jar_test.go index 98acb75ac..65893052e 100644 --- a/integration/bundle/spark_jar_test.go +++ b/integration/bundle/spark_jar_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/env" "github.com/google/uuid" diff --git a/integration/cmd/clusters/clusters_test.go b/integration/cmd/clusters/clusters_test.go index 4cc6cb658..4e20a0558 100644 --- a/integration/cmd/clusters/clusters_test.go +++ b/integration/cmd/clusters/clusters_test.go @@ -6,7 +6,7 @@ import ( "regexp" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/databricks-sdk-go/listing" "github.com/databricks/databricks-sdk-go/service/compute" diff --git a/integration/cmd/fs/cat_test.go b/integration/cmd/fs/cat_test.go index b0f99ae4e..3e964fe6e 100644 --- a/integration/cmd/fs/cat_test.go +++ b/integration/cmd/fs/cat_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/libs/filer" "github.com/stretchr/testify/assert" diff --git a/integration/cmd/fs/helpers_test.go b/integration/cmd/fs/helpers_test.go index da4fd48cf..e1bebb28f 100644 --- a/integration/cmd/fs/helpers_test.go +++ b/integration/cmd/fs/helpers_test.go @@ -5,7 +5,7 @@ import ( "path" "path/filepath" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" diff --git a/integration/cmd/repos/repos_test.go b/integration/cmd/repos/repos_test.go index b5ad120d6..7526a14ca 100644 --- a/integration/cmd/repos/repos_test.go +++ b/integration/cmd/repos/repos_test.go @@ -6,7 +6,7 @@ import ( "strconv" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go" diff --git a/integration/cmd/secrets/secrets_test.go b/integration/cmd/secrets/secrets_test.go index 4dd133c25..43ad54de2 100644 --- a/integration/cmd/secrets/secrets_test.go +++ b/integration/cmd/secrets/secrets_test.go @@ -6,7 +6,7 @@ import ( "fmt" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/service/workspace" diff --git a/integration/cmd/storage_credentials/storage_credentials_test.go b/integration/cmd/storage_credentials/storage_credentials_test.go index 73727a875..e4b861312 100644 --- a/integration/cmd/storage_credentials/storage_credentials_test.go +++ b/integration/cmd/storage_credentials/storage_credentials_test.go @@ -3,7 +3,7 @@ package storage_credentials_test import ( "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/stretchr/testify/assert" diff --git a/integration/cmd/sync/sync_test.go b/integration/cmd/sync/sync_test.go index 077a06079..984f6ac49 100644 --- a/integration/cmd/sync/sync_test.go +++ b/integration/cmd/sync/sync_test.go @@ -15,7 +15,7 @@ import ( "testing" "time" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" diff --git a/integration/cmd/workspace/workspace_test.go b/integration/cmd/workspace/workspace_test.go index 9338f60aa..4edbbfc83 100644 --- a/integration/cmd/workspace/workspace_test.go +++ b/integration/cmd/workspace/workspace_test.go @@ -11,7 +11,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testcli" "github.com/databricks/cli/libs/filer" "github.com/databricks/databricks-sdk-go/service/workspace" diff --git a/internal/acc/debug.go b/integration/internal/acc/debug.go similarity index 100% rename from internal/acc/debug.go rename to integration/internal/acc/debug.go diff --git a/internal/acc/fixtures.go b/integration/internal/acc/fixtures.go similarity index 100% rename from internal/acc/fixtures.go rename to integration/internal/acc/fixtures.go diff --git a/internal/acc/workspace.go b/integration/internal/acc/workspace.go similarity index 100% rename from internal/acc/workspace.go rename to integration/internal/acc/workspace.go diff --git a/integration/libs/filer/helpers_test.go b/integration/libs/filer/helpers_test.go index 2383ae352..a3a3aaae5 100644 --- a/integration/libs/filer/helpers_test.go +++ b/integration/libs/filer/helpers_test.go @@ -7,7 +7,7 @@ import ( "path" "path/filepath" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" diff --git a/integration/libs/git/git_fetch_test.go b/integration/libs/git/git_fetch_test.go index e53b5469a..0998d775b 100644 --- a/integration/libs/git/git_fetch_test.go +++ b/integration/libs/git/git_fetch_test.go @@ -8,7 +8,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/libs/dbr" "github.com/databricks/cli/libs/git" "github.com/stretchr/testify/assert" diff --git a/integration/libs/locker/locker_test.go b/integration/libs/locker/locker_test.go index 7624afdee..c51972b90 100644 --- a/integration/libs/locker/locker_test.go +++ b/integration/libs/locker/locker_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" lockpkg "github.com/databricks/cli/libs/locker" diff --git a/integration/libs/tags/tags_test.go b/integration/libs/tags/tags_test.go index b7c47b5f5..8a54a966b 100644 --- a/integration/libs/tags/tags_test.go +++ b/integration/libs/tags/tags_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/databricks-sdk-go/service/compute" "github.com/databricks/databricks-sdk-go/service/jobs" diff --git a/integration/python/python_tasks_test.go b/integration/python/python_tasks_test.go index d0a92e084..9ad3ed5de 100644 --- a/integration/python/python_tasks_test.go +++ b/integration/python/python_tasks_test.go @@ -14,7 +14,7 @@ import ( "time" "github.com/databricks/cli/bundle/run/output" - "github.com/databricks/cli/internal/acc" + "github.com/databricks/cli/integration/internal/acc" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/filer" "github.com/databricks/databricks-sdk-go" From 2fa3b48083438482703b63584ae36b5765b548d7 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Tue, 17 Dec 2024 16:34:54 +0100 Subject: [PATCH 4/6] Remove 'make fmt' and 'fmt' workflow (#2026) Remove unnecessary make command and github workflow - it's a subset of "lint" now. However, keep "mod tidy" separately, don't think the linter does that. --- .github/workflows/push.yml | 39 +++++++------------------------------- Makefile | 8 +------- 2 files changed, 8 insertions(+), 39 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index a497a7d7b..6e07f4615 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -57,38 +57,6 @@ jobs: - name: Publish test coverage uses: codecov/codecov-action@v4 - fmt: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Go - uses: actions/setup-go@v5 - with: - go-version: 1.23.2 - - # No need to download cached dependencies when running gofmt. - cache: false - - - name: Install goimports - run: | - go install golang.org/x/tools/cmd/goimports@latest - - - name: Run make fmt - run: | - make fmt - - - name: Run go mod tidy - run: | - go mod tidy - - - name: Fail on differences - run: | - # Exit with status code 1 if there are differences (i.e. unformatted files) - git diff --exit-code - golangci: name: lint runs-on: ubuntu-latest @@ -97,6 +65,13 @@ jobs: - uses: actions/setup-go@v5 with: go-version: 1.23.2 + - name: Run go mod tidy + run: | + go mod tidy + - name: Fail on differences + run: | + # Exit with status code 1 if there are differences (i.e. unformatted files) + git diff --exit-code - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: diff --git a/Makefile b/Makefile index 8b33e447c..6c849986e 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,5 @@ default: build -fmt: - @echo "✓ Formatting source code with goimports ..." - @goimports -w $(shell find . -type f -name '*.go' -not -path "./vendor/*") - @echo "✓ Formatting source code with gofmt ..." - @gofmt -w $(shell find . -type f -name '*.go' -not -path "./vendor/*") - lint: vendor @echo "✓ Linting source code with https://golangci-lint.run/ (with --fix)..." @golangci-lint run --fix ./... @@ -39,4 +33,4 @@ vendor: integration: gotestsum --format github-actions --rerun-fails --jsonfile output.json --packages "./integration/..." -- -parallel 4 -timeout=2h -.PHONY: fmt lint lintcheck test testonly coverage build snapshot vendor integration +.PHONY: lint lintcheck test testonly coverage build snapshot vendor integration From 23ddee8023bae3d069d2097f518905f4bb217fa8 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Tue, 17 Dec 2024 18:16:58 +0100 Subject: [PATCH 5/6] Skip job runs during integration testing for PRs (#2024) ## Changes A small subset of tests trigger cluster creation to run jobs. These tests comprise a substantial amount of the total integration test runtime. We can skip them on PRs and only run them on the main branch. ## Tests Confirmed the short runtime is ~20 mins. --- Makefile | 11 ++++++++--- integration/bundle/clusters_test.go | 5 +++++ integration/bundle/python_wheel_test.go | 5 +++++ integration/bundle/spark_jar_test.go | 5 +++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6c849986e..a7c0584fa 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,12 @@ vendor: @echo "✓ Filling vendor folder with library code ..." @go mod vendor -integration: - gotestsum --format github-actions --rerun-fails --jsonfile output.json --packages "./integration/..." -- -parallel 4 -timeout=2h +INTEGRATION = gotestsum --format github-actions --rerun-fails --jsonfile output.json --packages "./integration/..." -- -parallel 4 -timeout=2h -.PHONY: lint lintcheck test testonly coverage build snapshot vendor integration +integration: + $(INTEGRATION) + +integration-short: + $(INTEGRATION) -short + +.PHONY: lint lintcheck test testonly coverage build snapshot vendor integration integration-short diff --git a/integration/bundle/clusters_test.go b/integration/bundle/clusters_test.go index f9e5c9b64..c153b8733 100644 --- a/integration/bundle/clusters_test.go +++ b/integration/bundle/clusters_test.go @@ -44,6 +44,11 @@ func TestDeployBundleWithCluster(t *testing.T) { require.NoError(t, err) require.NotNil(t, cluster) + if testing.Short() { + t.Log("Skip the job run in short mode") + return + } + out, err := runResource(t, ctx, root, "foo") require.NoError(t, err) require.Contains(t, out, "Hello World!") diff --git a/integration/bundle/python_wheel_test.go b/integration/bundle/python_wheel_test.go index 5cca1cb53..f7fb1ff3f 100644 --- a/integration/bundle/python_wheel_test.go +++ b/integration/bundle/python_wheel_test.go @@ -29,6 +29,11 @@ func runPythonWheelTest(t *testing.T, templateName, sparkVersion string, pythonW destroyBundle(t, ctx, bundleRoot) }) + if testing.Short() { + t.Log("Skip the job run in short mode") + return + } + out, err := runResource(t, ctx, bundleRoot, "some_other_job") require.NoError(t, err) require.Contains(t, out, "Hello from my func") diff --git a/integration/bundle/spark_jar_test.go b/integration/bundle/spark_jar_test.go index 65893052e..cbdf5a00c 100644 --- a/integration/bundle/spark_jar_test.go +++ b/integration/bundle/spark_jar_test.go @@ -30,6 +30,11 @@ func runSparkJarTestCommon(t *testing.T, ctx context.Context, sparkVersion, arti destroyBundle(t, ctx, bundleRoot) }) + if testing.Short() { + t.Log("Skip the job run in short mode") + return + } + out, err := runResource(t, ctx, bundleRoot, "jar_job") require.NoError(t, err) require.Contains(t, out, "Hello from Jar!") From 13fa43e0f5af0c2b0d5a6397ca7273a36548cbc1 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Tue, 17 Dec 2024 18:34:09 +0100 Subject: [PATCH 6/6] Remove superfluous helper (#2028) ## Changes There was only one helper for AWS and not the other clouds. Found this when looking through double calls to `acc.WorkspaceTest()` (see `TestPythonWheelTaskDeployAndRunOnInteractiveCluster`). ## Tests n/a --- integration/bundle/clusters_test.go | 6 +++--- integration/bundle/python_wheel_test.go | 4 +--- internal/testutil/cloud.go | 4 ---- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/integration/bundle/clusters_test.go b/integration/bundle/clusters_test.go index c153b8733..449206208 100644 --- a/integration/bundle/clusters_test.go +++ b/integration/bundle/clusters_test.go @@ -12,12 +12,12 @@ import ( ) func TestDeployBundleWithCluster(t *testing.T) { - ctx, wt := acc.WorkspaceTest(t) - - if testutil.IsAWSCloud(wt) { + if testutil.GetCloud(t) == testutil.AWS { t.Skip("Skipping test for AWS cloud because it is not permitted to create clusters") } + ctx, wt := acc.WorkspaceTest(t) + nodeTypeId := testutil.GetCloud(t).NodeTypeID() uniqueId := uuid.New().String() root := initTestTemplate(t, ctx, "clusters", map[string]any{ diff --git a/integration/bundle/python_wheel_test.go b/integration/bundle/python_wheel_test.go index f7fb1ff3f..62846f7b5 100644 --- a/integration/bundle/python_wheel_test.go +++ b/integration/bundle/python_wheel_test.go @@ -56,9 +56,7 @@ func TestPythonWheelTaskDeployAndRunWithWrapper(t *testing.T) { } func TestPythonWheelTaskDeployAndRunOnInteractiveCluster(t *testing.T) { - _, wt := acc.WorkspaceTest(t) - - if testutil.IsAWSCloud(wt) { + if testutil.GetCloud(t) == testutil.AWS { t.Skip("Skipping test for AWS cloud because it is not permitted to create clusters") } diff --git a/internal/testutil/cloud.go b/internal/testutil/cloud.go index 4a8a89645..33921db0c 100644 --- a/internal/testutil/cloud.go +++ b/internal/testutil/cloud.go @@ -58,7 +58,3 @@ func GetCloud(t TestingT) Cloud { } return -1 } - -func IsAWSCloud(t TestingT) bool { - return GetCloud(t) == AWS -}