Commit Graph
290 Commits
Author SHA1 Message Date
86214a85e1 ci: Run go tests in github action (#2997)
This runs the make targets:

- make test
- make test-api
- make test-sdk

The go tests in the main module are split by package and run in parallel
in a matrix build with GOMAXPROCS=1. This is done primarily to work
around an issue that is only seen on the github runners.  When running
at a higher GOMAXPROCS tests that use vault instances in docker
containers start to intermitently fail with errors from vault, usually
either a 400, 403, or TLS error. It is not clear what the cause of this
is, since the same tests run fine on self hosted runners and on
CircleCI.

Co-authored-by: Sarah Thompson <sthompson@hashicorp.com>
Co-authored-by: Daniel Kimsey <daniel.kimsey@hashicorp.com>
2023-02-23 14:58:40 -05:00
Michael Li 7733677e34 chore(enos): Modify destroy condition (#3001)
Sometimes, the workflow can fail before enos is even installed, which causes this step to fail due enos not existing.
This change makes it such that this step only runs if the Retry step fails.
2023-02-23 11:58:43 -05:00
Michael Li 9512b524f2 chore(enos): Always destroy enos infrastructure (#3000)
When the `Run Enos scenario` and `Retry Enos scenario` steps fail, the Destroy command does not get run since the `Retry` step marks the workflow as failed. This leaves some infrastructure hanging around.
2023-02-22 17:42:19 -05:00
Michael Li 235ded684b chore(enos): Update test suite slack bot with different messages (#2993)
* chore(enos): Update slack bot to post different messages when retry succeeds

* Remove unused variables
2023-02-22 13:38:46 -05:00
Josh Brand 17811f76b8 Use another method of getting acctid to pass to aws-nuke, clarify region output (#2987) 2023-02-17 13:27:03 -05:00
Mike Baum e1d078fa9f [QT-444] Use repo isolated AWS account for enos CI tests (#2727)
* [QT-444] Use repo isolated AWS account for enos CI tests
2023-02-16 17:07:30 -05:00
Timothy Messier af1b8d2f02 ci: Remove deprecated output from make-gen-delta 2023-02-16 21:22:30 +00:00
Timothy Messier 876b25fead ci: Use variable for runner (#2981) 2023-02-16 16:17:04 -05:00
Timothy Messier 96ab199562 ci: Run make-gen-detla in github action (#2980) 2023-02-16 14:49:47 -05:00
Timothy Messier 5c19dba3c9 ci(sqltest): Add github action workflow for sql tests (#2977) 2023-02-16 14:37:48 -05:00
Michael Li bb6d1cad58 chore(enos): Reset status on job retry (#2954) 2023-02-13 14:00:23 -05:00
Mark Collao 115b8fd5cb fix: update sec-scanner sha 2023-02-10 21:16:41 -06:00
Mark Collao 5e3244a2e5 add security-scan workflow (#2945)
* add security-scan workflow

* remove uneeded branch; adopt .go-version

* fix bad yaml

* fix random newlines

* add copy
2023-02-10 11:12:56 -06:00
Michael Li 9dcf605251 chore: Add slack notifications when e2e or bats tests fail (#2946) 2023-02-10 09:27:26 -05:00
Michael Li 62e7335c54 chore: Update deprecated set-output command (#2879)
GitHub is deprecating `set-output`. Updating these commands to their new recommended approach.
2023-02-09 17:08:40 -05:00
Michael Li d1429a40df chore(enos): Remove bats test from running in enos (#2929)
* chore(enos): Remove bats tests from enos

* chore(enos): Update cache name to match vault version
2023-02-07 16:30:38 -05:00
Timothy Messier 45b15fab8c ci: Start vault for cli ui tests 2023-02-02 17:43:17 +00:00
Josh Brand 9309154d05 Gate jobs to run only on OSS repo, adjust TIME_LIMIT for boundary (#2884) 2023-02-02 10:36:33 -05:00
Michael Li 2f9727e8cf chore(enos): Upload e2e test output (#2863)
* chore(enos): Upload e2e go test output

* chore(enos): Add retention period
2023-01-31 17:28:54 -05:00
Josh Brand 7d49a3a06b Add automated cleanup for CI resources (#2814)
* Add automated cleanup for CI resources
2023-01-31 16:43:45 -05:00
Michael Li 5fd66b8d88 chore(enos): Remove unused skip_failing_bats_tests variable (#2844) 2023-01-25 12:44:04 -05:00
Ashlee M Boyer 4b7f40c356 [check-legacy-links-format] Upgrading to latest workflow (#2832)
* Upgrading to latest workflow

* Updating docs-content-check-legacy-links-format hash

* Undoing changes to workflow trigger
2023-01-23 18:47:01 -05:00
Ashlee M Boyer e6be6431b2 docs: Migrate link formats (#2777)
* Adding docs-content-check-legacy-links-format workflow

* Adding test-link-rewrites workflow

* Migrating links to new format
2023-01-20 15:17:34 -08:00
Irena Rindos 400f13a7e8 Revert "fix milestone check" (#2758)
This reverts commit a283e8be5e8edfa843a7dfc838d4294644841d78.
2023-01-05 10:39:06 -05:00
Jeff Mitchell 9001642099 Use non-deprecated v3 checkout runner in milestone check (#2754)
Move milestone-check.json to the right place
2023-01-04 14:27:26 -05:00
Irena Rindos 99cf985649 fix milestone check (#2753) 2023-01-04 11:07:22 -05:00
Jeff MitchellandJohan Brandhorst-Satzkorn ee7bf3cde6 Add check to ensure milestone (#2747)
* Add check to ensure milestone

Stolen from https://github.com/hashicorp/vault/pull/18406

* Update .github/workflows/milestone-checker.yml

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Pin grafana github actions ref

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-01-03 22:37:34 -05:00
Michael Li 74f7ce93bc chore(e2e): Update to use Vault 1.12.2 (#2726) 2022-12-19 14:29:25 -05:00
Michael Li 26a85ef61b chore(e2e): Better output formatting (#2719)
Updating the `go test` command to include a table summary of test results at the end. This is the same command used by unit tests.
2022-12-15 14:57:24 -05:00
Michael Li 1596b02e53 test(e2e): Add database migration test (#2627)
* test(e2e): Add database migration test

* chore(enos): Add enos scenario for migration test

* chore(enos): Update go test command to use count option

* doc(e2e): Update readme with migration test details

* Fix: Typo

* CR: Use different library

* CR: Add additional context in comment

* CR: Move some code from test into functions

* doc(e2e): Add instructions to more easily retrieve environment variables

* refact(e2e): Create some more methods to increase test readability
2022-12-13 17:00:50 -05:00
Mike Baum cc42c51e5e [QT-396] Ensure oss enos ci bootstrap workflow only runs in the oss repo (#2711) 2022-12-13 13:06:18 -05:00
Danielle 46037cf85a Add Staticcheck to Build Pipeline (#2421)
Run staticcheck linters on pull requests
2022-12-13 12:07:18 -05:00
Mike Baum 24c3d6824d [QT-396] Add Enos CI bootstrapping scenarios (#2621)
* Add Enos CI bootstrapping scenarios
* Add GitHub Actions workflow for CI bootstrapping
* Add service quotas limit increase request to Enos CI bootstrapping
2022-12-12 13:48:10 -05:00
emily neil 7cd5b5a320 Onboard boundary to use new version/VERSION file and reproducible actions-go-build (#2662)
* Onboard boundary to use new .release/VERSION file and reproducible actions-go-build

* Added automatic patch version bumps to end of release pipeline

* Added back VersionMetadata to internal directory

* Moved VERSION file to version/

* Update to current version

* Using prepare workflow for pre-stable channel workflow

* Test prepare workflow

* PR feedback: allow builds to run builds locally without setting BIN_PATH

* PR feedback: revert Enos changes

* PR Feedback

* Remove current branch from ci pipeline

* Run make fmt
2022-12-09 13:08:02 -08:00
Michael Li c20bd8a37e chore(e2e): Update to use latest version of Vault CLI (#2585) 2022-11-01 13:13:00 -04:00
Michael Li 0424d379cf refact(e2e): Reorganize test directory
Rearranges the directory structure to align better with the enos scenarios. Tests will now be added in the `tests` directory, with a folder in the directory corresponding to an enos scenario.
2022-10-27 17:40:13 -04:00
Michael Anthony b5ef8a516b QT-351 - Output Terraform and provider version information in Enos workflows (#2564)
* Add tf core and module version output step

* Add generate step before getting versions
2022-10-26 11:48:17 -06:00
Michael Li 5365b29007 refact(e2e): Port enos smoke test into e2e test suite
This adds a test case to the e2e test suite and unifies where testing is located.
2022-10-12 09:49:08 -04:00
871cf0b963 chore: Add workflow for e2e tests
This adds a github actions workflow to run the new e2e test suite

Co-authored-by: Michael Anthony <manthony@hashicorp.com>
Co-authored-by: Josh Brand <jbrand@hashicorp.com>
2022-10-06 18:35:23 -04:00
Timothy Messier f28bcd4aa7 chore(cli): Run bats tests against boundary dev in CI
Several of these tests are being skipped in the enos
run. This seems to be due to differences in the setup that is performed.
When these tests were run manually, `boundary dev` was used which
performs some setup of resources automatically. However since enos uses
a non-dev controller, a similar setup is performed via the enos modules.

Until the discrepancies between the setup can be investigated, this adds
a separate CI job to run the tests against `boundary dev`. These tests
are all passing, without any being skipped. This test suite can still be
useful even if the enos version is fixed, since this test suite will run
much faster, and therefore identify failures sooner.
2022-09-16 15:54:55 +00:00
Ryan Cragun 6983bb7d41 enos: don't fail fast in enos integration matrix (#2416)
Disable the fail-fast feature for the matrix strategy. This prevents a
single failure to cascade to all jobs in the matrix. This prevents cases
where other jobs fail before they're able to clean up resources.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2022-09-01 13:16:56 -06:00
Johan Brandhorst-Satzkorn d4fce6fbe1 fix: Move enos job attribute into enos-run workflow (#2374)
Maybe this will fix it? This doesn't make any sense.
2022-08-17 20:39:12 -04:00
Johan Brandhorst-Satzkorn 91e6857631 fix: Use correct yaml (#2373)
Didn't notice this until it failed on main
2022-08-17 20:27:26 -04:00
Johan Brandhorst-Satzkorn b6445adff0 feat: Stop enos jobs from failing CI pipelines (#2372)
Enos jobs are still a bit unstable, we should use them as
advisory for now. When they have gained more stability,
we can let them fail pipelines again.
2022-08-17 19:56:06 -04:00
Jaymala 369f818f4c Update Enos run (#2326)
* Rotate the credential used for the Enos SSH Key
* Use the enos provider from TFC

Signed-off-by: Jaymala Sinha <jaymala@hashicorp.com>
2022-08-16 11:07:19 -06:00
Michele Degges 047b9bea05 Merging ENT updates back into OSS (#2309) 2022-07-29 11:51:26 -07:00
Ryan Cragun ed3014ead5 build: depend on the right output for metadata (#2306)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2022-07-29 11:15:25 -06:00
Ryan Cragun ab3fe75537 build: generate the metadata file (#2302)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2022-07-28 15:37:10 -06:00
9169c6bacb [QTI-220] Add infrastructure integration testing (#2282)
* [QTI-275] Add infrastructure integration testing

On pull requests that originate from branches of the `hashicorp/boundary`
repo, we now conditionally dispatch infrastructure integration tests using
the Enos framework. The `integration` Enos scenario includes two `builder`
variants which allow developers or CI to deploy a Boundary cluster in AWS
using either a local `boundary` install bundle or that which is produced
in the `build` workflow for CRT. The `test` variants determine which type
of infrastructure integration test to run. At present those options are
`cli_ui` (Bats CLI tests) or `smoke` (creates target instances and a
target host catalog and verifies that `boundary` works).

In addition to the new workflow and quality scenarios, we simplified the
some `build` workflow steps and added Go module caching to speed up the
build pipeline.

See the [enos/README.md](https://github.com/hashicorp/boundary/blob/main/enos/README.md)
for a detailed explanation on how to configure and execute Enos scenarios
from your machine.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Rebecca Willett <rwillett@hashicorp.com>
Co-authored-by: Josh Branch <jbrand@hashicorp.com>
2022-07-28 14:48:51 -06:00
Michele Degges 63bfcaff61 [CI-only] Build updates (#2296) 2022-07-28 07:57:12 -07:00