823 Commits
Author SHA1 Message Date
Gavin Frazar 3a687a3d76 Regenerate terraform module docs on version update (#513)
Export-Source-Commit: 7d8e4ce5c79c74c3d75e6063a3dfb1ed543773e4
2026-08-25 11:35:10 -05:00
Ryan Clark 44ba4e6053 Adjust E2E CI now that we're in a monorepo (#391)
Export-Source-Commit: 41f0850a4efcabe7dc5ed59dc04f054653a19845
2026-08-25 11:35:10 -05:00
Pawel Kopiczko 43573d946b CI: Fix flaky e/integration tests detector (#343)
Export-Source-Commit: c5f01664f07acead384cbf146fb600fc2edbef97
2026-08-25 11:35:10 -05:00
Gus Rivera 0d7267b3ed Patches for monorepo migration (#182)
Export-Source-Commit: 63b0a257129c3a27f32bb59994df47dd605b1a6b
2026-08-25 11:35:10 -05:00
Angel Dionisio 15136eb0d8 Sign managed updates Linux tarballs with cosign (#68053)
* add managed updates artifact signature verification

* updating signature max size to a more realistic, yet generous size

* fail teleport-update bulds when artifact verifier key is missing

* forward artifact signing key into Docker buildbox

* verify artifact signature over stream instead of pre-computed digest

* add insecure-skip-artifact-signature flag for dev builds

* renaming insecure signature flag and simplify verifier flow

* import separation for linter CI fix

* gofmt

* simplifying verifyArfifactSig function, table tests

* verify artifact signature during install, adding godoc for WithDigest

* adding staging CDN fallback

* updating isStagingCDN url check by adding helper function to check for raw vs want url equality, pr comments

* clarify ECDSA-specific digest verification comment

* initialize artifact signature verifier at construction time

* embed backup artifact signature public key for managed updates

* move teleport-update signature inputs to main.go

* removing comment

* verify staging signatures by default with explicit fallback

* update staging signature verification to trust prod artifacts

* fix test expected message error
2026-08-07 20:05:42 +00:00
Ryan Clark 2ed5586e01 Fix E2E runner linting, add check to make lint and CI, fix e2e type check (#69461)
* Fix e2e/runner linting

* Add e2e linting to makefile/CI

* Adjust the comment about public key bytes

* Fix type check command
2026-08-07 14:58:20 +00:00
Adam Carheden 3ebd9e66c7 Make helm unit tests set chart version (#69157)
* Make helm unit tests use hard-coded version to avoid updating snapshots with each release.

* Remove helm unittests after version update

* Used v99 for tests
2026-08-03 22:08:44 +00:00
rhammonds-teleport 2bd8597fdc Stop the rust toolchain warning from printing erroneously when invoked from another directory. (#69237) 2026-07-31 20:34:44 +00:00
Przemko Robakowski 1d7740af22 Fix Windows webassets build (#69029)
* Fix Windows webassets build

* Remove qoiz related features
2026-07-27 17:01:08 +00:00
Zac Bergquist 813580c8a5 Strip unused native code from tsh (#68861)
This reclaims about 4.5 MB (out of a total 5MB increase) from the
tsh binary due to the changes in
02629106a4.
2026-07-25 21:15:58 +00:00
Nick Cellino d29e03c798 Fix macOS helm-unittest install docs (#68816) 2026-07-24 15:48:33 +00:00
Zac BergquistandNick Cellino 6458632dcc Detect Rust misconfigurations at build time (#68597)
* Detect Rust misconfigurations at build time

Addresses some confusion reported in #68265

* Update macOS helm unittest docs

---------

Co-authored-by: Nick Cellino <[email protected]>
2026-07-20 15:59:51 +00:00
Jacob Boykin 080d16073d Update references to archived helm-unittest plugin (#68720)
* Replace references to archived helm-unittest plugin

Signed-off-by: Jacob Boykin <[email protected]>

* Point users to make target and ensure plugin env for macos

Signed-off-by: Jacob Boykin <[email protected]>

---------

Signed-off-by: Jacob Boykin <[email protected]>
2026-07-18 00:54:50 +00:00
Adam Carheden 39e8a2e32c Add instructions for new helm unittest version (#68682)
* Add instructions for new helm unittest version

* Corrected missing verify false flag

* Added checksum verification for helm unittest plugin

* Helm unittest checksum for entire tarball

* Fixed globbing

* Added intel mac just in case
2026-07-17 17:15:11 +00:00
Adam Carheden 640fa17cf0 Upgraded helm unittest plugin to v1.0.3 (#68520)
* Upgraded helm unittest plugin

* Implement guarenteed helm unittest version at runtime

* Use bash for helm-unittest install so we can have pipefail

* Fix unittest version check

* Fixed dup unittest plugins

* Fixed helm unittest version copy command in Dockerfile

* Fixed version test
2026-07-14 23:31:15 +00:00
Tim Buckley 94e9a8b082 Add generic_oidc join method (#67991)
* Add `generic_oidc` join method

This adds a new `generic_oidc` join method, suitable for joining most
OIDC providers using arbitrary rules.

In addition to standard OIDC it additionally supports custom CAs
(embedded in the token), along with `static_jwks` for configurations
where Teleport cannot directly access the issuer to fetch discovery
configuration.

* Reenable GenericOIDC in this PR

* Fix failing test

* Apply fixes from LLM review

Includes fixes for various typos, missing validations, and a couple
instances of improper error handling and logging.

* Validate non-oneof condition operator count manually

* Add scoped -> unscoped conversion test coverage

* Fix imports

* Mask errors from validation library

The library emits detailed errors now, so mask those errors from
unauth'd clients until we have a better system for exposing them to
end users.

* Convert to opaque API to resolve lint

* Add generic_oidc URL safe mapping

* Address small batch of review comments

* Add note about default timeout value

* Fix outdated comment

* Enable goderive for lib/config and use a go-derive equals helper

This replaces the `reflect.DeepEqual()` call with a go-derive
generated equals helper to determine deep equality for the embedded
`[]string` Command.

* Remove unused jointest helpers for generic_oidc

* Fix typo'd IsEqual check

* Add E2E style test for generic_oidc joining

This adds unscoped (and equivalent scoped) test cases to verify E2E
generic_oidc joining. A test helper was also moved from
lib/join/genericoidc to api/types/ since it's now used across
packages.
2026-07-11 00:03:17 +00:00
cf91ada533 Add Linux desktop support (#65841)
* Implement support for TDPB in Desktop Agent.

* Add LinuxDesktop gRPC and backend

* Add LinuxDesktop resource to unified resources

* Add Linux desktop service

* Remove CloneResource

* Review comments

* Unifide fix

* routing

* Fix logins

* Fix logins

* Fix CA cache and write basic loop

* Review comment

* Fix components and handleConnection

* Review comment

* Add ClonableResourceWithLabels

* Fix missing CloneResource

* Add Xvfb handlers

* Add Xephyr

* Add Xvfb controller

* Add QOI encoder

* encoder + xsession

* reexec

* ChildLogConfig

* session

* add forceloginshell

* update frontend + fix session

* Review comments

* Fix code, update docs

* Fix TARGETS format, reuse waiting

* Remove direct mode

* Update lib/auth/linuxdesktop/linuxdesktopv1/service.go

Co-authored-by: Zac Bergquist <[email protected]>

* Add MFA and cert usage support

* Add RemoteAddr

* Revert Uacc setup

* Add session selector

* Refactor code

* Add session recording, tracking and events

* Add session recording, tracking and events

* Refactor command reexecution

* Review comments

* Use reexec.ConfigureCommand

* Proto changes for Linux Desktop

* Proto changes for Linux Desktop

* Add locks support for Linux desktop

* Add guard around m.ScreenSpec

* Cleanup

* Add activity monitor

* Cleanup

* Fix compilation

* Cleanup unified view

* Refactor linux session

* Add logging

* Add logging

* go mod tidy

* Adjust logging

* go mod tidy

* Grab stderr from reexec

* Fix UACC

* pass remote addr to uacc

* TMP: debug images

* Fix panic

* TMP: debug images

* limit change size

* Monitor resolution and restore it

* TMP: debug images

* TMP: debug images

* TMP: debug images

* Modify screen resize

* TMP: debug images

* TMP: debug images

* Add XDG env variable

* Use dbus-run-session

* pam

* variables fix

* variables fix

# Conflicts:
#	lib/srv/desktop/x11/xsession.go

* revert uacc

* cleanup

* EncodeQOIZ noop

* EncodeQOIZ noop

* Fix auditing

* Cleanup

* Fix type check

* Fix formatting

* Fix licenses

* Fix lint

* go mod tidy

* Fix audit reference

* Fix log

* Fix tests

* Fix tests

* Remove testing from xgb

* go mod tidy

* Fix tests

* xgb 1.3.1

* Handle multiple SessionSelection messages

* Add filters for sessions

* fix events

* Fix compilation + events

* Fix test

* Fix test

* Fix UI

* cleanup

* review comments

* Rework poll eq

* Fix bounds clipping

* fix imports

* lint

* lint

* err

* Fix locking in resize

* Fix ReadChildError

* remove dependabot exclusion

* Fix session end

* Cleanup metedata

* Fix session events

* Ignore multiple ClientHello

* Use slices.IndexFunc in setScreenSize

* Cleanup unused code

* Update lib/service/linux_desktop.go

Co-authored-by: Zac Bergquist <[email protected]>

* Use slices.Clone

* Update lib/srv/desktop/x11/xsession.go

Co-authored-by: Zac Bergquist <[email protected]>

* Fix import

* Use filepath.Glob

* Simplify testdata path calculation

* Cleanup comment

* Cleanup endpoints

* Update lib/web/apiserver.go

Co-authored-by: Zac Bergquist <[email protected]>

* Update lib/web/desktop.go

Co-authored-by: Zac Bergquist <[email protected]>

* Cleanup createDesktopConnection signature

* Cleanup createDesktopConnection signature

* Use server capabilities

* Remove dep override

* Add bounds check

* Cleanup

* Add EndTime to reconstructed event

* use cleanupCtx

* cleanup

* Add configuration test

* Add horizontal scroll

* Review comments

* Fix scrolling

* Fix scrolling

* Sort available sessions

* Fix build

* Add bounds check

* Fix tests

* Move expiry

* lint

* Add back metadata nil check

* lint

* Add usage reporting

* Fix error handling

* Fix resizing, add lock prevention

* Move backend creation after authorization

* Fix possible panic in handleSessionSelection

* Check if clipboard is allowed

* Cleanup errors during normal session ending

* use errgroup for all backround tasks

* Review comments

* fix heartbeat

* add guard for root

* fix tests

* add negative check in changes

* cleanup

* cleanup

* add guard

* Review comments

* Review comments

* Review comments

* Review comments

* Review comments

* Read only access for RoleLinuxDesktop

* use dbus-launch

* Add Linux Desktops to inventory UI

* Use X11 launcher script to start sessions

Use a launch script instead of executing the Exec= line from the
Xsession file directly. This handles the "default" case on Debian
systems where the Xsession file reads `Exec=default`.

The launcher can be explicitly configured at the agent level or
left blank, in which case we probe a set of well-known launchers.

* Compositing support

* Fix dbus launcher

Support both `dbus-run-session` and the older `dbus-launch`.

* Fix error messages when Xvfb is not installed

* Add non-root warning

* Use forceFullDamage for resize

* Fix Open API usage

* invalid user test fix

* remove commented code

* Complete TLS handshake

* Improve error message

* Logged wrapped command

* Add dbus-daemon as dependency for dbus-launch

* Update dbus warning and add llvm check to macos build

* Add LinuxDesktop to role list in new token dialog

* Fix teleport start role validation

* Run messageLoop in separate goroutine

* Add LinuxDesktop labels to Admin role

* Add handling for extended keys and ID reuse

* Cleanup shut down logs

* Xsession cleanup

* Rework llvm requirement in Makefile

---------

Co-authored-by: Ryan Hammonds <[email protected]>
Co-authored-by: Zac Bergquist <[email protected]>
2026-07-09 07:41:47 +00:00
Ryan Clark a2bdc8c6b2 Allow for wasm-bindgen to be installed into target/ (#68247) 2026-06-30 15:31:53 +00:00
Gustavo Medori 83e07c510a iOS: Build Enroll.xcframework using gomobile as part of the Xcode build (#67635)
* Embedded Enroll.xcframework building into the main Xcode build

* Remove xcframework generation from Makefile

Now that Enroll.xcframework is built as part of the Xcode build, we no
longer need to maintain a separate step to build it manually.

* Add a README file with basic instructions on how to integrate Swift with Go packages

* Disable user script sandboxing

This ensures that our build scripts can read/write whatever files
necessary. In particular, this avoids issues when building xcframeworks
with `gomobile` that may touch files not declared in your file inputs.

* Fix typo in build-enroll-framework.sh

* Update build-enroll-framework.sh to call `gomobile` via `go tool`

* Resolve shellcheck lint failure SC2155
2026-06-17 17:30:13 +00:00
Maja Cieślak 813776fd7a Add Xcode project for Teleport Verify; add gomobile as tool dep (#67750)
* Generate Xcode project for Verify

* Set Swift version to 6; remove macOS and Vision as destinations

* Handle `teleport://` links and add enrollment screen

* Avoid building macOS-specific stuff on iOS

This is needed for gomobile to build our stuff from lib/mobile from the
next commit.

* Add `lib/mobile/verify/enroll` compiled with gomobile

* `lib/mobile`: Temporarily use private Device Trust service

The public gRPC service exists on the demo branch but not on this
branch. In order to make it possible to compile
`lib/mobile/verify/enroll`, temporarily use the private service which
has similar RPCs.

* Run `make go-mod-tidy-all`

* Make Swift app connect to public DT service on "Request Now" tap

* mobile: Add sheet for enroll request status

* Revert go.mod changes

This reverts commit b9af7a7614 and
2c00ecd7fa.

* Add `build.assets/tools/gomobile`

* Move gomobile back to main go.mod

This reverts commits 9b2a6c4ea3 and
a83c2959fa.
2026-06-16 17:29:26 +00:00
Michael 399ddddaa2 Pick edition logo at build time instead of runtime config (#66815) 2026-05-26 17:23:06 +00:00
Cam Hutchison 54273f91fe fips: Switch to Go-native FIPS140 builds from boring crypto (#66690)
* fips: Switch to Go-native FIPS140 builds from boring crypto

Switch to using Go-native FIPS140 builds, using the GOFIPS140 build
environment variable, from the old boringcrypto FIPS140 build. The
latter is no longer supported now that Go supports FIPS140 builds
natively.

FIPS140 is enabled across the build when FIPS=1 is passed to `make` when
building. The main package of the binaries import the `lib/fipscheck`
package to ensure that a binary is not switched into or out of FIPS140
mode at launch time using the GODEBUG environment variable.

FIPS140 builds of OSS Teleport are not a supported configuration,
however the base of the Enterprise edition is the OSS repository, so
most of the changes are in this repository. Building OSS Teleport in
FIPS140 mode may not be complete.

* fips: Stop using fips buildbox

Stop using the fips buildbox for fips release builds, and just use the
normal centos7 buildbox. The fips buildbox sets
`GOEXPERIMENT=boringcrypto` which should no longer be set when building
with Go-native FIPS140. The fips buildbox is otherwise identical to the
non-fips buildbox.
2026-05-20 00:42:41 +00:00
Tiago Silva fb98c980ec Add enum value rendering to CLI docs and remove duplicate descriptions (#66466)
This commit enhances the CLI reference documentation by automatically
displaying valid enum values in the "Default" column of flag tables,
eliminating the need to manually list these values in flag descriptions.
It also adds a CI step to verify that CLI reference docs stay in sync
with source code changes.

The core implementation uses reflection to extract enum values from
kingpin flags and formats them as "(valid: `value1`, `value2`, ...)".
All CLI source files have been updated to remove duplicate enum value
lists from flag help text, as these are now automatically rendered.

A new 'cli-docs-up-to-date' Makefile target and corresponding GitHub
Actions workflow job ensure that any changes to CLI flags are reflected
in the generated documentation.

Example output:
Before: |`--format`|`yaml`|Output format, 'yaml', 'json', or 'text'|
After:  |`--format`|`yaml` (valid: `yaml`, `json`, `text`)|Output format.|

Signed-off-by: Tiago Silva <[email protected]>
2026-05-08 13:53:15 +00:00
Cam Hutchison 937e6fcaa6 fips: Build fips binaries via OSS Makefile (#66385)
Update the targets in `build.assets/Makefile` to build fips binaries by
calling `release-ent` in the OSS Makefile instead of calling `release`
in the Enterprise Makefile. This allows the top-level Makefile to set up
things properly for building fips (GOEXPERIMENT, and soon GOFIPS140)
rather than having to duplicate it in the Enterprise Makefile or fips
buildbox.

This also means we no longer need to pass through VERSION and GITTAG to
the Enterprise make as this is set by the OSS Makefile.

Remove the guard on the `release-ent` target. That should fail if there
is no Enterprise repo checked out. Other places where it is guarded are
when it performs an OSS + maybe enterprise operation, which should not
fail. But an explicit call for `release-ent` should fail if the repo is
not checked out.
2026-05-08 01:24:10 +00:00
Alan Parra 13134bc98a Ignore "*.tftest.hcl" files on addlicense (#66481)
* Ignore "*.tftest.hcl" files on addlicense

* Ignore 'web/packages/teleterm/build/**'
2026-05-06 17:27:38 +00:00
Andrew LeFevreandAndrew LeFevre 7e0e6c9794 Fix unreadable Enhanced Session Recording events (#64581)
* refactor command and disk eBPF programs to fix some events not getting emitted

* fixed handling of flags in disk events

* remove unused constants to appease linter

* handle failing to read filename in enter_execve correctly

* added more tests

* prevent potential panic if args_len exceed args buffer size

* handle empty args in command events correctly

* minor changes from feedback

* update comments in eBPF files

---------

Co-authored-by: Andrew LeFevre <[email protected]>
2026-05-04 12:25:25 +00:00
Gus Rivera 415a6810a0 Adding export back to makefile (#66375) 2026-05-02 10:42:43 +00:00
Hugo Shaka 8ea6a9b687 Consolidate all the Helm Makefiles (#65455)
* Extract Helm logic into lib

* Add helm-janitor

* Fix lint values

* Use helmjanitor for tests, lint, and version-update

* Convert example/chart Makefile to helm-janitor + add library support

* Fix release pipeline

* lint

* Disable CGO

* lint
2026-04-29 21:26:31 +00:00
Brian Joerger a09174cd0b Add piv tag for lint-api make target; Fix lint errors in piv package. (#65669) 2026-04-29 17:50:49 +00:00
Zac Bergquist 9da22d53a3 Minor Makefile improvmements (#65180)
- Remove unused targets
- Use $(MAKE) for better flag propagation
- Fix error in sloccount target
2026-04-26 03:31:01 +00:00
Edoardo Spadolini b98921dff8 session-helper: Build changes (#66003)
* Build and test changes for sessionhelper

* Always print text in check-session-helper

* Fix TwoClustersTunnel
2026-04-24 10:07:18 +00:00
rosstimothy ed41e6c9d5 Enable DCE for most binaries (#66033)
The linker is now able to perform DCE for all binaries except tsh
and teleport. A change to enable DCE for teleport will come in the
future. DCE for tsh will be harder to achieve until kubectl dependencies
are capable of DCE.

This udpates e to include https://github.com/gravitational/teleport.e/pull/8447
which removes the last template usages in enterprise code. Now that
templates are no longer imported a depguard rule has been added to
prevent it from being imported in the future.

The last step to eliminate DCE was to add the grpcnotrace build tag
to all binaries.
2026-04-23 00:15:07 +00:00
rosstimothy 30a56a5c91 Update Access List and Access List Member equality operations (#64715)
Adds an additional accesslist.EqualAccessListsOption,
accesslist.WithIgnoreOktaUserManagedFields to support equality checking
which ignoring Spec.Owners, Spec.MembershipRequires, spec.OwnershipRequires,
and Spec.Audit. This will be used to replace the current go-cmp usage
to determine whether modification of Okta Access Lists are allowed.

(AccessListMember) IsEqual has been restored with a goderived implementation
which checks full equality. This was removed in https://github.com/gravitational/teleport/pull/64542
to prevent accidental use with a services.Reconciler. As of
https://github.com/gravitational/teleport/pull/65151, the Reconcilers
require an explicit comparison function instead of implicitly using
an IsEqual implementation the concerns which led to removing the IsEqual
are slightly mitigated.
2026-04-20 18:04:21 +00:00
Ryan ClarkandRafał Cieślak 09156cb157 Run E2E tests in CI (#64557)
* Run E2E tests in CI

* Rename results JSON so upload-artifacts finds it

* Skip failing auth connector test

* Remove e2e's pnpm workspace, add it to root

* Use cache v5

* Change paths-filter checkout to only on merge group

* Add timeout to e2e tests job

* Only run build/test if there are changes

* Cache the pnpm store instead of node_modules

* Add rust-toolchain.toml to changed files detection

* Add rust-toolchain.toml and Makefile to Rust cache hash

* Add build.assets/Makefile to Rust cache too

* Expand the path filters to capture more changes

* Improve the build error reporting, upload failure logs as artifacts

* Add `contents:read` permission for checkout in merge_group/push triggers

* Cancel previous jobs on new push in a PR

* Move type checking to earlier to fail faster

* Use the correct glob syntax

* Remove redundant env var

* Validate playwright version before trying to get the container

* Use fetch-depth: 1 for faster checkouts

* Use bash for pipefail

* Add versions.mk to changes detection and Rust cache key

* Use bash for version checking

* Ensure build is successful before running tests

* Exit with code 1 if any build failed

* Remove redundant corepack enable

* Use exit $failed for consistency

* Exit as early as possible if e2e type-checking errors

* Remove pnpm store cache as pnpm install is fast enough

* Change playwright back to ^, remove validation, get version from installed

* Run playwright version getter in e2e dir

* Add nested Cargo.toml to paths filter

* Add --init to playwright container

* Add --ipc=host to playwright docker container

* stateRestoration.spec.ts: Limit number of `login` calls

This is to avoid running into auth rate limits when running the full
Connect test suite.

* Cleanup temp dir if `fs.cp` fails

* Remove typescript/node types from e2e package.json

* Move GitHub report to a separate step

* Add more pnpm stuff to paths filter

* Skip for dependabot PRs

* Add persist-credentials: false to checkout

* Move e2e binary building to a bash script

* Define the test results JSON path only once

* Move PR comment management to gh CLI calls instead of runner

* Add build-e2e-binaries.sh to paths filter

* Handle the possibility of a missing PR comment file

* Move PR comment posting to a separate job

* Always run the update-pr-comment job

* Print logs instead of uploading them

* Add the repo name to the concurrency group

* Up test timeout limit to 20s

* Add a SHA flag to the e2e report command

* Fix the GitHub comment not deleting on success

---------

Co-authored-by: Rafał Cieślak <[email protected]>
2026-03-31 15:39:37 +00:00
Zac Bergquist 989cdc3732 Remove OpenSSL FIPS configuration from the FIPS build image (#64591)
PR #34950 put OpenSSL into FIPS mode in the _build container_,
which causes any build tooling that relies on OpenSSL to use FIPS
crypto.

A result of that change is that we can no longer update our Rust
toolchain. The `cargo` utility shipped with Rust versions newer
than 1.86 depends on a newer version of OpenSSL, and when this
version runs in FIPS mode cargo itself is not able to fetch dependencies
from the public registry due to incompatible cipher suites.

Note: our build artifacts are still compiled against FIPS-validated
modules (Go's GOEXPERIMENT=boring, and Cloudflare's boring crate for
Rust).
2026-03-20 20:21:26 +00:00
rosstimothy 813a507d95 Stop comparing AccessListMembers with go-cmp (#64542)
Replaces `(AccessListMember) IsEqual` with a local goderived
implementation in local/services. All reconcilers
have been previously updated to specify their own comparison
function to prevent this change from breaking enterprise in
https://github.com/gravitational/teleport.e/pull/8233.

IsEqual was not updated to use the goderived implementation because
different use cases have different ideas about equality. A single
API to support them all is untenable and confusing. As a result the
callers are now responsible for adhering to their own equality
definitions. If in the future another use case arises that requires
full equality IsEqual may be reconsidered.
2026-03-16 18:50:02 +00:00
Matt Smith 4424d04dc0 Release 19.0.0-prealpha.2 (#64631) 2026-03-13 17:56:57 +00:00
Matt Smith 53aeefd389 Release 19.0.0-prealpha.1 (#64603)
* Release 19.0.0-prealpha.1

* Update changelog
2026-03-13 13:34:56 +00:00
Ryan ClarkandNick Marais 45a1d737b1 Add a runner utility for E2E tests (#64214)
* Add a runner utility for E2E tests

* credentials -> usercredentials

* Use NotifyContext instead

* Add a comment about the port allocation

* Use `getByTestId`

* Update e2e/tests/auth.setup.ts

Co-authored-by: Nick Marais <[email protected]>

---------

Co-authored-by: Nick Marais <[email protected]>
2026-03-10 17:15:54 +00:00
ravicious 80d2c2760d make update-tag: Add GOWORK=off to go run ./cmd/check (#64463) 2026-03-10 14:27:19 +00:00
Luke Okraszewski 97aa043722 make test-logs mkdir idempotent (#64415)
There is a chance that for parallel targets that check the order
only deps the dir is not found for both leading to one mkdir failing.
2026-03-09 14:46:29 +00:00
Luke Okraszewski c223947413 [ci] add differential benchmark workflows (#63100)
This commit does the following:
- Move existing smoke benchmark workflows to seperate workflow.
- Add differential benchmark workflows
- Split benchmarks into heavy and micro categories
- Add make target arguments for benchmark time and count
- Move smoketests to run only on PRs
- Differential benchmarks run on merge queue

Benchmarks above 1ms/op are considered heavy and should make
use of iteration based benchtime to prevent the CI job from taking
too much time. Benchmarks are skipped based on env vars, this is an
alternative to splitting benchmark targets into seperate files with
build tags.

The smoke tests should be much faster and as such are set to run
on PRs to ensure the targets are not broken in the change.

The current parameters for differential benchmarks attempt to balance
CI runner time and confidence for benchstat.

Differential benchmarks determine the base commit to run the tests against,
this happens within the same job to remove the runner to runner variance.
2026-02-20 15:31:03 +00:00
Luke Okraszewski eea85f5f49 [ci] add upload of test results to s3 (#63629)
The upload steps are non-blocking, should they
fail the workflow status will not be affected.

This commit also changes the way the test logs are created,
now each Makefile accepts `TEST_LOG_DIR` as an optional parameter,
defaulting to `./test-logs`. This allows the top level Makefile
to propagate the location for the sub modules to write their
junit output, such that the CI jobs do not need to track
which top level make target corresponds to which directory.
Instead a simple glob is used to grab all the xml JUNIT files.

This approach also allows more targets to be added or removed in the future
without modifying the CI job definitons. Another benefit is allowing
the caller to modify the output destination should we want to bundle
the files as job artifacts in the future.

Makes `TEST_LOG_DIR` an order only dep for all targets.
2026-02-20 14:23:25 +00:00
Andrew LeFevre 7ec6d03b52 use the audit login session ID to track sessions when using Enhanced Sesssion Recording (#63050) 2026-02-19 18:20:18 +00:00
Luke Okraszewski e9356dbd90 [tools] add benchstat tool (#63694)
* [tools] add benchstat tool

Adds `golang.org/x/perf/cmd/benchstat` to tools.
Required for differential benchmarking.

Example:
```
make test-go-bench BENCH_OUTPUT=a.txt
make test-go-bench BENCH_OUTPUT=b.txt
make benchstat "BENCH_FILES=a.txt b.txt"
```

While the tool can be invoked directly, the Make target
provides a convient command for CI workflows.

* missing newline

* bump benchstat deps
2026-02-17 15:46:54 +00:00
Luke Okraszewski 8f4131ff15 [tools] move go tools to isolated dir (#63724)
Each go tool will now reside in a isolated dir under
`build.assets/tools`, this allows us to isolate the
deps of each tool from both main module without
merging them for tools. This should make reviewing
tools and dep changes easier at a glance and remove
noise from main module dep manifest.

Each tool is a Makefile var to allow easy overrides
over a macro which cannot be temporarily unset/overriden.

The tools have been added to common.mk for easy reuse
across OSS and e.
2026-02-16 12:30:30 +00:00
Bartosz Leper 891d155d2b Change Go test deps to fix a flaky filesessions test (#63448) 2026-02-11 15:58:55 +00:00
Gavin Frazar a0b1ddb107 Generate reference docs for Terraform modules (#63314)
* Generate reference docs for Terraform modules

* Check Terraform module reference docs are updated
2026-02-02 14:59:04 +00:00
Paul Gottschling e58e510ef2 Generate a tctl reference page (#62729)
* Generate a tctl reference page

Add a `cli-docs-tctl` Make target and generate the page.

To allow the page to render, make the `tctl edit` help text more
consistent with that of other commands by using a single line for the
resource type/name argument.

This change adds 47 `tctl` commands not present in the current
reference.

Also change the default value of the `tctl recordings download`
`output-dir` flag to the system-independent "." value. Otherwise,
generating this page prints a system-specific file path.

Also make minor modifications to flag, argument, and command
descriptions to be consistent with messaging conventions in the docs.

* CLI ref generator: add arg/flag default overrides

In the CLI reference doc generator, make it possible to override default
argument and flag values. This is necessary when these values are
dynamic and system dependent, e.g., a user's home directory.

Add the `flag_default_overrides` and `arg_default_overrides` fields to
the generator config file. Use these fields to create template functions
that replace default values in a `*kingpin.FlagModel` or
`*kingpin.ArgModel`.

* Add flag default overrides for tctl reference

Configure flags with dynamic values to have hardcoded values in the
reference docs page so there is no need to edit the dynamic argument
logic in the tctl source.
2026-01-30 15:46:28 +00:00
Luke Okraszewski 3677d382d5 [tooling] add benchfind (#62981)
This commit adds benchfind, a cli utility which can be used
to discover Benchmark test targets in a golang tree. The reason
this is useful in a large codebase is that to run `go test -bench ./...`
would require the linking of every test target binary. This can
take 1h+. Previously a `grep` expression was used to find targets:

```sh
grep --exclude-dir api --include "*_test.go" -lr testing.B .  | xargs dirname | xargs go list | sort -u
```

The issue with this is that it can break when the tree contains
other go modules and requires handling of pipefail. Instead a single
utility is provided.

This can now be replaced with:
```sh
benchfind ./...
```

Note that the tool will respect module boundaries, instead of
having to explicitly exclude them, call the CLI multiple times with `-d`
flag.
2026-01-28 10:54:06 +00:00