Files
teleport/.github/workflows/unit-tests-code.yaml
T
Gus Rivera c1c08a5f34 Benchmarks Will Now Be Tested During CI (#44486)
* Adding flags for benchmarks in unit test CI

* Upping timeout for unit tests to accomodate benchmarks

* Fixing a typo

* Run benchmarks once

* Adding a makefile target for ci bench test

* Removing a stray quotation

* Compacting workflow

* Benchmarks now with nicer output

* Benchmarks back to their own step

* With error messages

* Adding pipefail to preserve exit code

* Using bash

* Simpler command and including e

* Separating benchmarks into its own workflow

* Fixing benchmarks workflow name

* Ignoring benchmarks that require root

* Updating to account for root and nonroot bench

* Cleaning up the benchmark workflows

* Bench requires test log dir to be created

* Excluding all BenchmarkRoot benchmarks from running

* Bumping benchGetNodes timeout duration to account for some jitter

* Fixing multiplexer benchmark by mirroring unit tests

* Remembered that skip exists

* Skipping BenchmarkGetMaxNodes due to flake

* Fixing formatting of summary

* Actually fixing summary

* Adding another newline

* Simplifying setup for mux listener

* Excluding BenchmarkRootExecCommand
2024-08-15 15:52:59 +00:00

75 lines
1.7 KiB
YAML

name: Unit Tests (Go)
run-name: Unit Tests (Go) - ${{ github.run_id }} - @${{ github.actor }}
on:
push:
branches:
- master
- branch/*
pull_request:
paths:
- '.github/workflows/unit-tests-code.yaml'
- '**.go'
- 'go.mod'
- 'go.sum'
- 'build.assets/Makefile'
- 'build.assets/Dockerfile*'
- 'Makefile'
merge_group:
paths:
- '.github/workflows/unit-tests-code.yaml'
- '**.go'
- 'go.mod'
- 'go.sum'
- 'build.assets/Makefile'
- 'build.assets/Dockerfile*'
- 'Makefile'
jobs:
test:
name: Unit Tests (Go)
if: ${{ !startsWith(github.head_ref, 'dependabot/') }}
runs-on: ubuntu-22.04-32core
permissions:
contents: read
packages: read
container:
image: ghcr.io/gravitational/teleport-buildbox:teleport17
env:
TELEPORT_ETCD_TEST: yes
TELEPORT_ETCD_TEST_ENDPOINT: https://etcd0:2379
TELEPORT_XAUTH_TEST: yes
TELEPORT_BPF_TEST: yes
WEBASSETS_SKIP_BUILD: 1
options: --cap-add=SYS_ADMIN --privileged
services:
etcd0:
image: ghcr.io/gravitational/ci-etcd:3.3.9
options: >-
--health-interval 10s
--health-timeout 5s
--health-retries 5
--add-host etcd0:127.0.0.1
ports:
- 2379:2379
- 2380:2380
- 3379:3379
steps:
- name: Checkout Teleport
uses: actions/checkout@v4
- name: Prepare workspace
id: prepare
uses: ./.github/actions/prepare-workspace
- name: Mount debugfs
run: mount -t debugfs none /sys/kernel/debug/
- name: Run tests
timeout-minutes: 20
run: make -j"$(nproc)" test-go test-sh test-api