Skip to content

acc: build CLI with FIPS toolchain so go test matches release - #6369

Open
ilyakuz-db wants to merge 2 commits into
mainfrom
fips-go-test
Open

acc: build CLI with FIPS toolchain so go test matches release#6369
ilyakuz-db wants to merge 2 commits into
mainfrom
fips-go-test

Conversation

@ilyakuz-db

Copy link
Copy Markdown
Contributor

Changes

Build the CLI binary with the FIPS toolchain in BuildCLI, reading the pinned GOFIPS140 version from Taskfile.yml. Previously the FIPS build settings were only set via the Taskfile's global env:, so a plain go test ./acceptance produced a non-FIPS binary and acceptance/fips failed.

Why

The acceptance/fips test is a sanity check that we ship a FIPS build. It only passed when run through task, which exports GOFIPS140. Setting it in the root test.toml doesn't help because it's a build-time toolchain env, not a runtime one — it has to be applied where the test builds the binary. Reading it from Taskfile.yml keeps a single source of truth.

Tests

go test ./acceptance -run TestAccept/fips now passes both with and without GOFIPS140 set in the environment.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: a09a086

Run: 32755786456

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 4 274 1167 9:16
💚​ aws windows 1 4 276 1165 6:00
💚​ azure linux 1 4 273 1167 8:57
💚​ azure windows 1 4 275 1165 6:41
💚​ gcp linux 1 4 274 1167 9:59
💚​ gcp windows 1 4 276 1165 6:26
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 7 slowest tests (at least 2 minutes):
duration env testname
3:13 gcp windows TestAccept
3:11 azure windows TestAccept
3:08 aws windows TestAccept
2:57 aws windows TestFilerWorkspaceFilesExtensionsStat
2:46 aws linux TestImportDirWithOverwriteFlag
2:38 gcp linux TestFilerWorkspaceFilesExtensionsRead
2:35 gcp linux TestFilerWorkspaceFilesExtensionsReadDir

…S140

Co-authored-by: Isaac <no-reply@databricks.com>
@ilyakuz-db
ilyakuz-db requested a review from denik August 25, 2026 08:25
// binary as `task` and the release build; otherwise acceptance/fips (which
// asserts the FIPS build settings) fails outside `task`.
repoRoot := ".."
RunCommand(t, args, repoRoot, []string{"GOOS=" + osName, "GOARCH=" + arch, "GOFIPS140=" + readGOFIPS140(t, repoRoot)})

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: readGOFIPS140 is called multiple times, because BuildCLI is called multiple times; could be moved to global var so it's only done once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants