Commit Graph
114 Commits
Author SHA1 Message Date
Mike Jensen 7ee72cd194 Build API on root go.mod changes (#23170)
Without this build step when the root go.mod is changed it's possible to merge a change that will result in api dependencies being out of sync.
2023-03-16 13:40:48 +00:00
Mike Jensen f0987b5198 Remove ossfuzz from CI (#23089)
This removal is primarily cost motivated.  We will continue to have scheduled scans executed by ossfuzz, but for now we are disabling this job from our PR / merge queue workflows.
2023-03-15 00:43:20 +00:00
Steven Martin 1f01bc3a4b add bypasses for lint go and lint docs (#22299)
* Adds bypass for lint go for RFD and Docs changes.

* spacing

* Update docs test to only check for docs, examples changes or bypass

* include merge groups

* test docs change

* remove change

* Test go change

* remove go test change

* test doc changes

* remove docs test change

* fix indentation

* fix indentation
2023-03-14 19:22:13 +00:00
Mike Jensen dab1eb5e27 CodeQL improvements (#22854)
This makes two changes:
* Reduces action instance type to 16 cores.  This will half the cost without a significant speed difference
* Switch from `make full` to CodeQL Auto Build.  This speeds up the build by about 10 minutes.  I confirmed there is not a reduction in the scan coverage
2023-03-09 21:56:47 +00:00
Hugo Shaka 3a9c96d37a kube-updater: initial commit (#22067)
This PR implements the core of the kube-agent-updater, which is part of
https://github.com/gravitational/teleport/issues/21516#issue-1576935859

In order to have a fully working updater we still need to:
- implement the interfaces for version retrieval, image validation and maintenance trigger
- add statefulset support (and deal with the potential deadlocks)
- implement the CI and release pipeline (Dockerfile, README, Makefile, github action, drone)
- integrate in the `teleport-kube-agent` helm chart

Those changes will happen in subsequent PRs.
2023-03-06 18:40:28 +00:00
Hugo Shaka 9e1f53d33a Move operator into integrations/ (#22618)
* Move operator into `integrations/`

* fixup! Move operator into `integrations/`

* fixup! fixup! Move operator into `integrations/`

* fixup! fixup! fixup! Move operator into `integrations/`

* fixup! fixup! fixup! fixup! Move operator into `integrations/`
2023-03-06 17:59:02 +00:00
Roman Tkachenko d4163e1d01 Flaky tests detector tweaks (#22607) 2023-03-03 20:50:13 +00:00
Jakub Nyckowski 8329021148 Skip building webassets in CI (#22549)
* Skip building webassets in CI

Building webassets is not always needed and many of our CI build just builds them and ends up not using them after.
This PR skips building the webassets for all pipelines where they are not needed. This should save us some time and $$.

* Make some changes to trigger CI

* Create the missing directory
2023-03-03 15:14:25 +00:00
Roman Tkachenko 9537bd8d1a Run UI checks in merge queue (#22323) 2023-02-27 17:36:39 +00:00
Jeff Pihach 2973755587 add bypassses for UI GHA's (#22105) 2023-02-22 17:31:43 +00:00
Zac Bergquist caec32a2a4 CI: bypass OS compatibility check for some changes (#21989)
Docs changes, web UI changes, or RFD updates cannot change the
OS compatibility of Teleport, so allow them to bypass the
OS compatibililty check.
2023-02-17 18:39:58 +00:00
Mike Jensen 10bd548162 Switch CodeQL to scheduled (#21883)
We still plan to address this root issue, and are tracking making CodeQl faster so it can be a required PR check: https://github.com/gravitational/SecOps/issues/269

However, until then we need to switch this job to be a scheduled task rather than on every PR and push.  This is partly cost motivated, but also we are already hitting our timeouts.  This PR also increases the analysis timeout so that the daily job can be sure to complete.
2023-02-16 17:30:59 +00:00
Jakub NyckowskiandRoman Tkachenko e62ff82183 Unify x86/ARM64 build process (#21660)
* Unify x86/AMD64 build process

Currently, our ARM64 pipeline builds limited subset of Teleport features as none of the 3rd party dependencies (openssh, libbpf etc) are not built on AMR64. This change build all dependencies on AMR64 in the same way as we do on x86.

FIPS changes are not included as we do not support FIPS on ARM64.

* Apply suggestions from code review

Co-authored-by: Roman Tkachenko <roman@goteleport.com>

---------

Co-authored-by: Roman Tkachenko <roman@goteleport.com>
2023-02-15 15:38:59 +00:00
Roman Tkachenko f57150376f Run reviewers check on (un)labeled PR events (#21814) 2023-02-14 16:56:39 +00:00
Zac Bergquist d74d78b9f0 Create go workspace prior to build (#21668) 2023-02-10 21:18:18 +00:00
Zac Bergquist 46bfc6bd8a Fix build-api workflow (#21658)
- Add missing runs-on stanza
- Fix recursive glob
2023-02-10 17:24:48 +00:00
Jakub Nyckowski 20f5d0b3e0 Move CentOS 7 assets to GitHub repo (#21435)
Moving our CentOS build assets, aka Clang-10 is the first step to enabling our full Teleport to build on ARM64. This change should also save us some $$ as getting the assets from S3 sounds expensive.
2023-02-10 15:46:36 +00:00
Edoardo Spadolini 5122f308e6 Run go mod tidy in CI (#21140)
* Run go mod tidy in CI

* Update e_imports.go

* Use git diff on just go.mod/go.sum, tidy api too

* Fix the e_imports list by accomodating build tags

* Wording

* Simplify commands in the workflow

* Delete go.sum before go mod tidy

* Shell suggestions

* Fix missing saml imports for upcoming PRs
2023-02-08 17:22:21 +00:00
Roman Tkachenko ea5f334821 Fix operator build (#21362) 2023-02-07 01:15:55 +00:00
Michael Wilson 6f9ad9553a Protos-up-to-date is now part of the lint job. (#21217)
The lint job now includes protos-up-to-date as a step.
2023-02-03 16:05:36 +00:00
Jeff Pihach 26f6022689 Initial pass at lint and test GHA for UI. (#21110)
* Initial pass at lint and test GHA for UI.

* Fix lint

* Add --frozen-lockfile

* Skip the e directory if it doesn't exist while linting.

* Update failing snapshots.

* use a more reasonable filter for eslint to support missing e

* ignore type check on e imports.

* ignore failing file that requires e teleterm file.

* fix lint

* quiet down the log output for prettier-write.
2023-02-02 22:56:55 +00:00
Michael Wilson 6bf65b0f4d Add check if protos are up to date. (#21066)
* Add check if protos are up to date.

A new check has been added that will detect if protobufs are up to date. The
script will exit abnormally if protobufs need to be regenerated.

* Alan's feedback.

* Restoring the script.

* Update script comment.

* Add in the set -eu.

* Add a comment for the pull_request/merge_group bit in the new github action.

* Remove helper script.

* Reduce the runner size.
2023-02-02 05:54:20 +00:00
Zac Bergquist f8921bf85f Add workflow for building the API module (#20902)
In the past, we've mistakenly introduced dependencies on a newer
Go version than what the API module declares as its minimum
required version.

To prevent this from happening in the future, this job will build
the API with the version of Go declared by the API.
2023-01-31 19:59:16 +00:00
Roman Tkachenko 170eee2c0d Use ghcr image for doc tests (#20874) 2023-01-28 03:30:47 +00:00
Ada 43100d4ed0 Remove environment in check and backport workflows (#20862)
Context:
* Update the workflows to use repository secrets instead of environment
  secrets
2023-01-27 22:16:17 +00:00
Zac Bergquist b817a05d91 Use a GitHub app for the check and backport workflows (#20850)
These workflows need to be able to check org membership
for the PR author in order to determine whether or not
the author is an internal employee. This information is
only available when authenticated.
2023-01-27 20:39:18 +00:00
Roman Tkachenko 2838091b4b Add fake "check reviewers" workflow for merge queue (#20851) 2023-01-27 12:10:30 -08:00
Reed Loden 278e74d260 ci: Use large macOS runner for build-macos workflow (#20713)
Use larger macOS runner with GitHub Actions to speed up builds.

Comment-only change to `client.go` to cause macOS build to be run.
2023-01-25 19:39:22 +00:00
Mike Jensen 261dce259f dependabot-batcher - Specify environment (#20563)
The environment needs to be specified to have access tot he GitHub App auth.
2023-01-23 18:41:52 +00:00
Mike Jensen 2235827c0e Update dependabot-batcher to use GitHub app for authentication (#20342) 2023-01-23 13:42:39 +00:00
Roman Tkachenko 98fba76f80 Switch to teleport13 buildbox in CI (#20430) 2023-01-19 13:54:25 -08:00
Jeff Pihach 34f102bdeb Enable building teleport with the new UI location (#20361)
* Changes for merging webapps into teleport.
2023-01-18 22:22:25 +00:00
Roman TkachenkoandVictor Sokolov a4967833e2 Add flaky tests detector. (#20320)
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2023-01-18 10:29:10 -08:00
rosstimothy 3ebbfdd222 Batch Dependabot PRs (#19745) 2023-01-05 13:13:05 +00:00
Roman Tkachenko 844fff1767 Add merge_group triggers to GHA CI workflows (#19749) 2022-12-30 21:11:48 +00:00
Roman Tkachenko f690008528 Fix missing closing apostrophe on operator workflow (#19740) 2022-12-30 00:56:25 +00:00
Roman Tkachenko c286e4cd94 Run GHA tests on Dockerfile updates (#19622) 2022-12-22 20:08:52 +00:00
Roman Tkachenko 1b387aba2c Run GHA tests when build.assets/Makefile changes (#19616) 2022-12-22 19:04:44 +00:00
Roman Tkachenko f873cbe0ce Fix skipped but required checks for Github Actions (#19594) 2022-12-22 01:44:11 +00:00
Roman TkachenkoandVictor Sokolov 91f7030900 Add workflows that build tools on Mac OS and Windows (#19226)
Signed-off-by: Roman Tkachenko <roman@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2022-12-20 05:25:56 +00:00
Mike Jensen 6692d5e18f CodeQL: Set a timeout limit to ensure jobs don't hang (#19224)
Recently the CodeQL jobs started hanging, this is a stop gap measure to make sure action costs remain under control.
2022-12-09 00:45:06 +00:00
Hugo Shaka 207567b548 helm: use new helm-unittest plugin (#18964)
* Invoke helm plugins with correct path
* helm: breaking - change helm unittest plugin
* helm: document test plugin fork choice
* Add Makefile target checking helm plugins
2022-12-05 18:58:32 +00:00
Roman TkachenkoandVictor Sokolov 710b7d18ef Implicitly set go version in prepare-workspace (#18953)
- Determine Go version for cache key automatically instead of hardcoding.
- Do not build ghcr CI images (etcd and buildboxes) on PRs to avoid unintended breakages.
- Only build/push them on push events which mirrors our current Drone setup. We might add ability to trigger them manually via workflow_dispatch events later.
- Add release branches pattern for buildbox images trigger as well.
- Remove packages: read permission from test jobs since buildbox images are now public.

Signed-off-by: Roman Tkachenko <roman@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2022-12-01 00:40:53 +00:00
Roman TkachenkoandVictor Sokolov cda4be5273 Add Go version to GHA cache key and CI image workflow (#18877)
* Include Go version in the cache key to prevent cache reuse when upgrading Go.
* Push buildboxes to Github container registry to avoid public ECR rate limiting.

Signed-off-by: Roman Tkachenko <roman@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2022-11-30 00:25:45 +00:00
Roman Tkachenko a6dfac72ed Set permissions for GHA workflows (#18728) 2022-11-22 17:35:43 -08:00
Roman TkachenkoandVictor Sokolov 3fd1cca5b2 Github Actions workflow (#18617)
Signed-off-by: Roman Tkachenko <roman@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2022-11-22 16:55:26 -05:00
Mike Jensen 2d345bd0e7 CodeQL: Rename from codeql-analysis.yml to codeql.yml (#18663) 2022-11-22 16:37:41 +00:00
Philippe M. Chiasson e33baf3825 bot: Don't use a GH token to clone a public repository (gravitational/shared-workflows) (#16959) 2022-10-05 15:48:48 +00:00
Michael Wilson d6f575517b Fix CIFuzz artifact upload (#16802)
The CI fuzz artifacts upload will now work as expected. The artifacts produced
by oss-fuzz were (partially) chmodded 600 and owned by root, so an explicit
chmod step has been added to the cifuzz workflow.
2022-10-03 20:25:29 +00:00
Philippe M. Chiasson 2b3c0915f7 Fixes Dismiss Stale Workflows Runs GitHub Actions (#16894) 2022-09-30 21:24:35 +00:00