mirror of
https://github.com/gravitational/teleport.git
synced 2026-11-04 02:21:02 +08:00
- Lint libfido2 (and other) Go build tags - `make test-go` exercises the libfido2 build tag, as long as `libfido2` is present in the system - Install `libfido2` (and dependencies) in the teleport-buildbox image Libraries are installed from source, instead of apt or ppas, so we can guarantee deterministic (and current!) versions. (Binary releases are not available.) At the present moment, `librdp_client` and `libfido2` can't be used together. This is because `librdp_client` embeds openssl/`libcrypto`, which is also a dependency for `libfido2`, causing duplicate symbol errors. In practice both libraries never coexist in the same binary, so it's easy to sidestep the issue (`librdp_client` links to `teleport`, while FIDO2 code is only used by `tsh`). I may be able to make them coexist, but not without changes to how go-libfido2 builds. This change is only for linting/testing libfido2 code, I'll address `tsh` releases in a future PR. #9160 * Install libfido2 in buildbox libfido2 and libcbor are installed from source to make sure we get deterministic versions (apt is outdated and ppas are likely to move forward with time). * Run libfido2 tests on test-go * Lint libfido2 Go build tag * Lint other Go build tags * Comment build tags that break the linter * Tidy modules * Re-enable roletester linter * Pass tags conditionally to golangci-lint * Clarify and improve libfido2 wildcard * Drop `:$LD_LIBRARY_PATH` from variable * Replace LD_LIBRARY_PATH with `ldconfig` * Test for ARM homebrew location too