Commit Graph

208 Commits

Author SHA1 Message Date
Daniel Nephin d9af48afce
Merge pull request #9160 from hashicorp/dnephin/go-test-race-in-to-out-list
ci: change go-test-race package list to exclude list
2020-11-17 13:13:38 -05:00
R.B. Boyer 2ded9120c1
ci: update to go 1.15.5 (#9187) 2020-11-13 15:35:33 -06:00
Mike Morris a343365da7
ci: update to Go 1.15.4 and alpine:3.12 (#9036)
* ci: stop building darwin/386 binaries

Go 1.15 drops support for 32-bit binaries on Darwin https://golang.org/doc/go1.15#darwin

* tls: ConnectionState::NegotiatedProtocolIsMutual is deprecated in Go 1.15, this value is always true

* correct error messages that changed slightly

* Completely regenerate some TLS test data

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2020-11-13 13:02:59 -05:00
Daniel Nephin a7fec642fc ci: go-test-race switch to exclude list
Most packages should pass the race detector. An exclude list ensures
that new packages are automatically tested with -race.

Also fix a couple small test races to allow more packages to be tested.

Returning readyCh requires a lock because it can be set to nil, and
setting it to nil will race without the lock.

Move the TestServer.Listening calls around so that they properly guard
setting TestServer.l. Otherwise it races.

Remove t.Parallel in a small package. The entire package tests run in a
few seconds, so t.Parallel does very little.

In auto-config, wait for the AutoConfig.run goroutine to stop before
calling readPersistedAutoConfig. Without this change there was a data
race on reading ac.config.
2020-11-11 14:44:57 -05:00
Mike Morris ccbdde7e12
ci: publish bindata_assetfs.go for all release/.x branches (#9158) 2020-11-11 13:39:40 -05:00
Mike Morris 5fb49b7a76
ci: remove nonexistant autopilot directory from go-test-race (#9159) 2020-11-11 13:38:45 -05:00
Mike Morris 104547b62f chore: update to Go 1.14.11 2020-11-09 15:48:18 -05:00
Alvin Huang d6652b0bc9
use hashicorp docker mirror to prevent rate limit (#9070) 2020-10-30 17:59:13 -04:00
John Cowen 77b97a4ae4
ui: Upgrade consul-api-double to fix datacenter mocks (#9045) 2020-10-27 13:31:57 +00:00
Daniel Nephin 6cda5319b2 ci: upgrade gotestsum
So that we are using the same version as enterprise
2020-10-26 15:19:08 -04:00
Alvin Huang 5f0f8baef9
ci: add parallelism to envoy tests (#9005)
add subtest output
2020-10-23 11:53:24 -04:00
Alvin Huang 6d2ceb603e
move static-assets dist to new path (#9015) 2020-10-22 21:04:39 -04:00
R.B. Boyer 2183842f0e
connect: add support for envoy 1.16.0, drop support for 1.12.x, and bump point releases as well (#8944)
Supported versions will be: "1.16.0", "1.15.2", "1.14.5", "1.13.6"
2020-10-22 13:46:19 -05:00
John Cowen c98130cc08
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01:00
John Cowen 0d23c9f8cc
ui: Clean up and document environment.js file (#8966)
* Move various environment getting utils out of the main file and test/doc

* Clean up and document the entire environment file

* Tweak the environment tests to reflect what they should be

* Explicitly enable namespaces instead of defaulting

* Allow env fallback functions to be called lazily

Otherwise the executables used for finding out things would be required
during build, this way if env vars are set the executable aren't needed

* Infer booleans from the fallback and cast them as such
2020-10-19 17:29:43 +01:00
Mike Morris 69a05a3111 ci: bump to Go 1.14.9 2020-10-09 22:52:23 -04:00
Alvin Huang 097b47a741
[skip ci] ci: fix trigger-oss-merge yaml spacing (#8916) 2020-10-09 16:12:54 -04:00
Alvin Huang 804fef5c7c
add per commit oss->ent merge on master and release branches (#8740) 2020-10-09 15:49:04 -04:00
Daniel Nephin 2e9a52dfa9 ci: go-test-race more packages 2020-10-08 19:14:22 -04:00
Mike Morris 80aef1ca1d
test(vault): generate test coverage and upload to CodeCov (#8870) 2020-10-07 16:32:25 -04:00
Alvin Huang b2a66b7426
add ui test-node (#8820) 2020-10-06 15:58:12 -04:00
Alvin Huang 28c8ac91bc
ci: fix bindata autoupdate (#8801)
* update bindata on ui-v2/ changes

* Revert "Remove GIT_SHA environment variable"

This reverts commit f620f9aefd41362ce76c3a8e0f4addf402ee0ca2.

* Revert "Hardcode in an app version for ember-cli-app-version"

This reverts commit 5ae493d79b34ef2143d78a44c21a63623140bba8.

* revert modtime change in #8712
2020-10-02 15:23:38 -04:00
Paul Banks 35d249e38f
Merge pull request #8694 from hashicorp/ui-config-metrics
Add config changes for UI metrics
2020-10-01 17:38:03 +01:00
Paul Banks 4c4c7266e6
Update all the references in CI and makefile to the bindata file location 2020-10-01 16:19:10 +01:00
Alvin Huang 3bd129d445
ci: only add consul binary to dev tarball (#8785) 2020-09-30 16:49:50 -04:00
Daniel Nephin 24977886e7 Disable publish static assets
The contents are diff on every change, so it is publishing in a loop
2020-09-30 12:25:25 -04:00
Alvin Huang 84a711eba5
add git config for static assets (#8777)
* add git config for static assets

* add commit sha to static-asset auto commit
2020-09-30 11:12:36 -04:00
Alvin Huang 21b1163cd6 commit a new bindata file if there are changes 2020-09-29 18:10:05 -04:00
Alvin Huang a7353d925e
ci:add check for bindata_assetfs changes (#8712)
* add check for bindata_assetfs changes

* Remove GIT_SHA environment variable

* Hardcode in an app version for ember-cli-app-version

* change ' to " for CONSUL_UI_SETTINGS_PLACEHOLDER

Co-authored-by: John Cowen <jcowen@hashicorp.com>
Co-authored-by: hashicorp-ci <hashicorp-ci@users.noreply.github.com>
2020-09-29 17:03:45 -04:00
Alvin Huang b57a5b4911
add checkout to dev-upload-s3 (#8617) 2020-09-04 10:42:18 -04:00
Alvin Huang 4802c5fd89
switch to new aws account s3 bucket for dev artifacts (#8612) 2020-09-03 23:40:23 -04:00
Mike Morris 2d13f77730
ci: bump Go to v1.14.7 (#8449) 2020-08-12 10:43:19 -04:00
Daniel Nephin 1298b3afd8
Merge pull request #8385 from hashicorp/dnephin/check-generated
ci: Add check-generated-protobuf
2020-08-05 12:10:27 -04:00
R.B. Boyer 8ea4c482b3
xds: add support for envoy 1.15.0 and drop support for 1.11.x (#8424)
Related changes:

- hard-fail the xDS connection attempt if the envoy version is known to be too old to be supported
- remove the RouterMatchSafeRegex proxy feature since all supported envoy versions have it
- stop using --max-obj-name-len (due to: envoyproxy/envoy#11740)
2020-07-31 15:52:49 -05:00
Daniel Nephin 1abd042162 ci: Add check-generated
And remove makefile targets that can be accomplished with --always-make
2020-07-29 12:10:44 -04:00
Alvin Huang a86e0233a2
add circleci job failure notifications for any jobs on master (#8393)
* add circleci job failure notifications for any jobs on master

* rename URL variable
2020-07-28 14:54:48 -04:00
Daniel Nephin 2d4e5da41e ci: Add jsonfile artifact for go-test-race
So that we can better debug failures
2020-07-20 19:07:58 -04:00
Daniel Nephin b91f7ad7cf
Merge pull request #8328 from hashicorp/dnephin/go1.14.6
ci: Use go1.14.6
2020-07-20 13:32:54 -04:00
Daniel Nephin 08741c85b0 ci: add 'go test -race' job
Running every test with the race detector would add significant time to
CI. That additionaltime won't provide much value as many of the integration tests use
much of the same code.

For now we can run -race on some of the smaller packages. As we move
more code into smaller packages we should be able to add more packages
to the list that runs with '-race'.

For now this is running without parallelism, but we can enable that as
well when we need it.

boltdb fails the 'checkptr' check, which is automatically enabled by
'-race', so I've disabled checkptr as well.
2020-07-17 13:32:16 -04:00
Alvin Huang 2d1ab42c17
ci: separate install-gotestsum step into its own config (#8327) 2020-07-17 13:00:31 -04:00
Daniel Nephin 76336301ca ci: Use go1.14.6
Includes the security patches from go14.5 and https://github.com/golang/go/issues/39308
to fix our test logs.
2020-07-17 12:02:16 -04:00
Hans Hasselberg 0c39b2c820
add support for envoy 1.14.4, 1.13.4, 1.12.6 (#8216) 2020-07-13 15:44:44 -05:00
Daniel Nephin d013999e52 ci: Store a jsonfile 2020-07-08 19:45:27 -04:00
Kevin Pruett 333e0d3e5d
Add Algolia indexing to CI 2020-06-29 12:14:43 -04:00
Chris Piraino d62cead958
Bump golang to 1.14.4 to avoid known runtime issue (#8146)
An issue where the golang runtime would hang and loop forever
2020-06-18 11:38:33 -05:00
Alvin Huang 6c4cb5d357
split out oss and ent ember builds for testing (#8122) 2020-06-16 14:19:43 -04:00
Hans Hasselberg 26494286c7
Support envoy 1.14.2, 1.13.2, 1.12.4 (#8057) 2020-06-10 23:20:17 +02:00
R.B. Boyer e56cb94304
Use linkmode=external for the arm builds (#8029)
This gets around some issues regarding too large plt offsets when compiling with CGO

Co-authored-by: Matt Keeler <mjkeeler7@gmail.com>
2020-06-05 13:21:57 -05:00
Daniel Nephin dcc76f8774
Make envoy integration tests a `go test` suite (#7842)
* test/integration: only run against 1 envoy version

These tests are slow enough that it seems unlikely that anyone is
running multiple versions locally. If someone wants to, a for loop
outside of run_test.sh should do the right thing.

Remove unused vars.

* Remove logic to iterate over test cases, run a single case

* Add a golang runner for integration tests

* Use build tags for envoy integration tests

And add junit-xml report
2020-05-19 14:00:00 -04:00
Mike Morris aed31fef6c
ci: limit parallelism for Ember builds (#7917)
If not artificially limited by setting JOBS env var,
broccoli-babel-transpiler will attempt to parallelize across the number
of CPUs on the host VM rather than the Docker container, resulting in CI
jobs being killed due to running out of memory.
2020-05-19 13:00:35 -04:00
Alvin Huang f1346bd34d
Give ember-build a larger container (#7873)
* bump ember-build-prod and ember-build to medium+ to prevent OOM errors

* filter frontend workflow to only run on master, ui-staging, and ui/* branches
2020-05-13 15:40:30 -04:00
John Cowen b500cd929e ui: Make a specific CI coverage make target ensuring use of CI cache (#7335) 2020-05-12 17:14:08 +00:00
John Cowen e3b99b7ae6 ui: Upgrade ember-cli-api-double (#7322)
* ui: Upgrade ember-cli-api-double
2020-05-12 17:14:04 +00:00
John Cowen 450f549ce3 ui: Upgrade circle CI node image to use node 12 (#7314) 2020-05-12 17:13:59 +00:00
Alvin Huang 79ba29b954 fix ember parallelization (#7221) 2020-05-12 17:13:52 +00:00
John Cowen 275eeb6dcd ui: Test Coverage Reporting (#7027)
* Serve up the /coverage folder whilst developing

* Upgrade ember-cli-api-double now it supports passthrough per url
2020-05-12 17:13:50 +00:00
Daniel Nephin 801bfb9477 ci: debugging for golangci-lint download failing
We've seen a few CI runs fail with "exit status 52". This will hopefully give us more detail about what is failing.
2020-05-11 19:54:18 -04:00
Alvin Huang fad0d74182 use environment variables in website-docker-image for website docker image push 2020-04-28 13:38:38 -04:00
Jeff Escalante 6945548f42
circle docker image config 2020-04-28 12:53:26 -04:00
Daniel Nephin 2d0895c2ae Upgrade gotestsum to latest
0.4.2 should fix some bugs in test2json causing missing output.
2020-04-21 14:05:46 -04:00
Hans Hasselberg b78220981c
connect: support envoy 1.14.1 (#7624) 2020-04-09 20:58:22 +02:00
Alvin Huang c5f5cfddf6
filter out non go branches from the 'go-tests' workflow (#7606) 2020-04-07 15:39:23 -04:00
Daniel Nephin 4abb00cd17 ci: Fix working_directory for go mod download
The previous PR which added these was accidentally performing the download
in the root directory. For the api, and sdk directories it should be in done
in the same directory that will be used to run tests. Otherwise the
wrong dependencies will be downloaded which may add unnecessary time to
the CI run.
2020-04-01 17:02:23 -04:00
Daniel Nephin 2b5eb83ffb Upload coverage from each job
Allows us to remove the merge coverage report step
2020-03-31 14:43:13 -04:00
Daniel Nephin cbd6508b5f ci: Increase GOMAXPROCS so that the tests run faster 2020-03-31 12:32:23 -04:00
Daniel Nephin 62ed95fbef ci: small improvements
Run 'go mod download' first so that dependencies are pulled in a
separate step. This makes the test splitting and test output easier
to scroll through.

Remove test splitting from the api/sdk test runs. These jobs do not
use parallelism, so there is no test timing data injected into the
job. They can't be split.

Remove the dependencies from the go-test job, so that we can start
the slowest test job earlier in the workflow.
2020-03-31 11:52:58 -04:00
Daniel Nephin db1fb95f21
Merge pull request #7485 from hashicorp/dnephin/do-not-skip-tests-on-ci
ci: Make it harder to accidentally skip tests on CI, and doc why some are skipped
2020-03-31 11:15:44 -04:00
Alvin Huang 6961fb571e
rebuild UI for master/ui-staging dev docker image (#7530) 2020-03-27 15:33:49 -04:00
Alvin Huang ce81e026de
add ssh package and push to branch before notifying (#7517) 2020-03-26 15:23:31 -04:00
Daniel Nephin 759ea803e5
Merge pull request #7496 from hashicorp/dnephin/add-lint-to-makefile
Add lint to makefile
2020-03-26 10:48:21 -04:00
Daniel Nephin 874788dd66 Add lint to makefile
And support for setting build tags in CI lint job.

Removed the unused 'test-ci' target.
2020-03-24 16:34:02 -04:00
Daniel Nephin 3b0696565d
Merge pull request #7481 from hashicorp/dnephin/go1.14
ci: Upgrade Go to 1.14.1
2020-03-24 16:23:53 -04:00
Daniel Nephin 8fa1388ba3
Merge pull request #7440 from hashicorp/dnephin/golangci-lint
ci: Use golangci-lint for linting
2020-03-24 16:00:59 -04:00
Daniel Nephin e3b4cd9b90 ci: Upgrade Go to 1.14.1 2020-03-24 15:55:47 -04:00
Daniel Nephin 8b6e07d960 ci: Run all connect/ca tests from the integration suite
To reduce the chance of some tests not being run because it does not
match the regex passed to '-run'.

Also document why some tests are allowed to be skipped on CI.
2020-03-24 15:22:01 -04:00
Daniel Nephin 8e0df141ff ci: fix cherry-pick job by using newer git
37897bfc27 made it possible to use
the -m flag with cherry-pick, even when the target is not a merge commit.

This commit changes the image used to run the cherry-pick job to alpine so that we get
a more recent version of git.

The alpine image will also download much faster when the CI node does not have the image cached.
2020-03-23 14:30:32 -04:00
Daniel Nephin 4d485649d1 ci: Use golangci-lint for linting
Using golangci-lint has a number of advantages:

- adding new linters becomes much easier, its a couple lines of yaml config
  instead of more bash scripting

- it enables whitelisting of issues using inline comments or regex

- when running multiple linters less work is done. The parsed source can be reused
  by multiple linters

- linters are run in parallel to reduce CI runtime.
2020-03-17 13:43:40 -04:00
Daniel Nephin ebe622b4a3 ci: Remove restore_cache
As of go1.13 it is faster to download dependencies from the module
proxy service, than to download a cached /go/pkg/mod
2020-03-11 15:50:42 -04:00
Alvin Huang c2b5edf805
add auto cherry-picking (#7406)
* add auto cherry-picking

* exit on git cherry-pick failure

* release branches are #.#.x
2020-03-06 17:59:14 -05:00
Mike Morris 89abe301aa Update config.yml 2020-02-18 13:27:48 -05:00
Alvin Huang ea809b3f17
skip go build and tests on ui/* branches (#7303)
* skip go build and tests on ui/* branches

* also filter out lint-consul-retry since it runs in parallel with check-vendor
2020-02-14 09:40:02 -05:00
Alvin Huang c0a85ffdb7
only run website workflow on docs/* branches (#7299) 2020-02-13 21:41:37 -05:00
Alvin Huang a2ed78453e
remove docker layer caching (#7277) 2020-02-12 13:56:16 -05:00
R.B. Boyer 0394ed2967
Switch to go 1.13.7 (#7262)
- You can no longer cross submodule boundaries with ./... in go
  subcommands like `go list` or `go test`. The makefile and CI scripts
  were updated accordingly.

- Also of note: `go mod vendor` now omits things build ignored.
2020-02-12 10:15:24 -06:00
Hans Hasselberg 4ae725cab2
add envoy version 1.12.2 and 1.13.0 to the matrix (#7240)
* add 1.12.2

* add envoy 1.13.0

* Introduce -envoy-version to get 1.10.0 passing.

* update old version and fix consul-exec case

* add envoy_version and fix check

* Update Envoy CLI tests to account for the 1.13 compatibility changes.

Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
2020-02-10 14:53:04 -05:00
John Cowen ee956a4cfe
Merge pull request #7241 from hashicorp/ui-staging
UI Release Merge (ui-staging merge)
2020-02-07 16:07:05 +00:00
John Cowen 4be0f6c061
ui: Run 2 separate test runs oss and ent (#7214)
* ui: Make API integration tests aware of CONSUL_NSPACES_ENABLED

* ui: Allow passing CONSUL_NSPACES_ENABLED in via the cli in ember

* ui: Add more makefile targets/package scripts to switch NSPACEs on/off

* ui: Ensure all acceptance tests continue to pass with NSPACEs on/off

This required a little tweaking of the dictionary, at some point
page-navigation and some of these little tweaks will no longer be
required

* ui: Try running CI frontend tests in two parellel runs oss/ent

* ui: Use correct make target, use different names for the reports
2020-02-07 11:02:53 +00:00
Kenia cabc189b50
Merge pull request #7235 from hashicorp/ui-staging
ui: UI Release Merge (ui-staging merge)
2020-02-06 15:34:02 -05:00
Hans Hasselberg b528667328
build: update to golang 1.12.16 (#7153) 2020-02-03 18:20:03 +01:00
John Cowen 0d44ebb588
ui: Actually remove CI parallelism (#7190) 2020-01-31 14:47:39 +00:00
John Cowen ca6f73abe2
ui: Move CI to use the Makefile for testing (+ tmporary removal of exam) (#7188)
* ui: Move CI to use the Makefile for testing (+ tmporary removal of exam)

* ui: make a specific test-ci target as we are using --path dist

--path dist looks for a previous build to test against, in CI this
exists as we run a build first, but locally potentially this dist folder
doesn't
2020-01-31 14:12:35 +00:00
Alvin Huang 98a83dbf89
use 4 parallelism for go-test and print package names (#7152) 2020-01-28 12:21:55 -05:00
Kit Patella a0425c64de
CI: Extract remaining values of /tmp/test-results into yaml reference (#6964)
* ci: extract value /tmp/test-results into yaml reference calls

* ci: correctly subtitute a var in bash, womp womp
2019-12-17 15:18:10 -08:00
Kit Patella 7a4a55f570
Add CI test-integrations job for connect Vault CA provider (#6949)
* vault-ca-provider: add make target and CI test-integration job for /agent/connect/ca/ Vault Provider tests

* load env vars in the vault-ca-provider ci job

* add checkout task, see if we need to attach workspace or not

* ci: remove vault dependency from go-test job to ensure we only run the vault-provider tests in their job

* ci: fix from RB and Alvin code review, add mod cache after checkout

* ci: add CI context to make target and store test results

* ci: fix whitespace

* ci: create test results directory before we try to write to it
2019-12-17 13:22:32 -08:00
Mike Morris 3a98249607
coverage: disable comment and project status, set informational mode (#6954)
* ci: set verbose mode for CodeCov upload

* coverage: rename config to codecov.yml
2019-12-17 11:51:52 -05:00
R.B. Boyer 88d9d0fb09
build: fix makefile and CI 'fmt' and 'vet' tasks (#6937) 2019-12-11 12:32:11 -06:00
Mike Morris 5a2a8ec6f3
ci: set GOMAXPROCS (#6908)
* ci: add comment clarify rationale for setting GOMAXPROCS
2019-12-09 15:57:39 -05:00
Matt Keeler 71c6b77c6f
Turn down some parallelism 2019-11-25 14:34:24 -05:00
Alvin Huang 3fecef1368
add code coverage reporting (#6682)
* add coverage reporting

* add codecov reports

* pass in SHA to codecov

* ignore bindata_assetfs.go file from codecov
2019-11-22 11:49:02 -05:00
Alvin Huang 9bdc65a915
upgrade go to 1.12.13 (#6759) 2019-11-08 13:59:32 -05:00