Commit Graph

234 Commits (master)

Author SHA1 Message Date
Daniel Moran defac1b9d1
build: fix goreleaser setup and release jobs (#20465) 2021-01-07 08:06:12 -08:00
Daniel Moran 52692ba7d4
build: extend goreleaser to produce multi-arch docker builds (#20449) 2021-01-06 16:33:44 -08:00
Daniel Moran 79d349d543
build: fix cache key used by godeps job (#20451) 2021-01-05 15:53:49 -08:00
Daniel Moran ab87c23be6
build(ui): fix report generation & collection for JS tests (#20414) 2020-12-23 13:10:06 -08:00
Daniel Moran 9b8c81c49c
build: clean up our CircleCI configs (#20397)
* Delete unused configs
* Delete unused test steps
* Reorder our main config file to start with top-level pipelines, and to group conceptually-related jobs
* Introduce new jobs to pull dependencies, to reduce duplicated work across test/lint/build steps
* Rename our caches to bust our current huge sizes
* Use unique names for caches per-step, to avoid conflicts
* Fix result collection for JS tests
2020-12-22 12:38:30 -08:00
Daniel Moran 8e24128c5d
build: save cache and artifacts after gotest in CI (#20370) 2020-12-18 10:55:29 -08:00
Daniel Moran b044a676de
build: delete dead promQL transpiler adapter & test suite (#20368) 2020-12-17 13:42:45 -08:00
Daniel Moran e278aa4b76
build: add new CI jobs for InfluxQL test suites (#20358) 2020-12-17 08:34:19 -08:00
Daniel Moran ccbaf4e883
build: add ARM64 support to release (#20260)
* Create Dockerfile for running build & release in CI
* Update CircleCI config to use new Docker image
* Update goreleaser to add a linux ARM64 release
2020-12-10 13:03:45 -05:00
Gershon Shif ead9e17747
chore(build): add grace test runs to daily PR checks (#20210) 2020-11-30 14:46:18 -08:00
Gershon Shif 4e44331b26
chore(build): build job is now using golang version 1.15 (#20159) 2020-11-23 16:31:11 -08:00
Gershon Shif 5a9124f920
chore: remove lint-feature-flag job from OSS (#20061) 2020-11-16 14:36:37 -08:00
Gershon Shif 89773ba30b
chore: make 2.0 RC builds optional (#19900) 2020-11-04 14:31:37 -08:00
Gershon Shif 9bb9b7f8dd
chore: added sign section to goreleaser (#19739)
* chore: added sign section to goreleaser

* chore: update config.yml to be able to import GPG keys
2020-10-14 09:06:37 -07:00
Russ Savage df47ec7bb2
chore(circleci): change beta to rc (#19666) 2020-09-29 14:50:44 -07:00
Gershon Shif b93026c101
chore: revert signature changes to goreleaser (#19647)
* Revert "chore(build): packages signing"
   This reverts commit 7de32fcaf0.
* chore: remove arm v5 from being built
2020-09-25 15:01:25 -07:00
Gershon Shif d8a10e5311
chore: update circleci config to use golang:1.15 images (#19624)
* chore: update circleci config to use golang:1.15 images

* fix: Update Go version and use temporary override for Arrow

The Arrow override is to fix race detection problem. Once the
Arrow PR merges, this override can be removed.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2020-09-23 14:07:13 -07:00
Gershon Shif d56066cc9e
chore(build): packages signing (#19619)
- add `signs` section to goreleaser to sigh all of the artifacts
- add importing of the provate key that is needed to sign p ackages
2020-09-23 09:58:08 -07:00
Gershon Shif af0c328095
chore(packaging): build rpm and deb packages (#19567)
- Update CIrcleCI configuration to start release process on an RC build
- Update .goreleaser.yml:
   - Start building armel and armhf binaries and rpm and debian packages.
   - Generate sha256 checksum file.
- launcher.go: do not use `max` module to escape integeroverflow problem for armel and armhf builds
- Start using `v0.142.0` of goreleaser
- Added pre and post install/uninstall scripts for rpm amd deb packages
2020-09-16 12:36:44 -07:00
Stuart Carnie 7964f86ffc
fix: switch port to 8086
fix(readme): update the port and setup
2020-09-03 14:40:29 -07:00
Gershon Shif 087e7f1828
chore: remove algo-w branch from nightly builds (#19480) 2020-09-01 15:59:08 -07:00
Stephanie Engel 12bd9d067f
chore: fix build config for grace nightly tests (#19449) 2020-08-26 16:10:52 -05:00
Stephanie Engel 56ac8b2762
chore: add grace nightly job and build for oss (#19436) 2020-08-25 17:57:54 -05:00
Zoe Steinkamp cc75132525
test: add suite of community template e2e tests (#19271) 2020-08-11 11:31:03 -06:00
Gershon Shif 1e19a3682d
fix: use backslash for line breaker (#19237) 2020-08-06 09:12:39 -07:00
Adrian Thurston b484bfc34f
fix: run apt-get update before any apt-get install commands (#19220)
It's possible that the apt cache on the circle ci system isn't up to date. Call
apt-get update before any installs.
2020-08-05 16:25:56 +03:00
Gavin Cabbage cf52beb24e
fix(ci): add lint-feature-flags to jobs lists (#18940)
* fix(ci): add lint-feature-flags to jobs lists

* fix(ci): remove skip

* fix(ci): do not use cache in lint jobs
2020-07-14 11:09:20 -04:00
Jonathan A. Sternberg 540d5d3113
fix(release): create static builds for linux amd64 (#18805) 2020-07-01 12:45:54 -05:00
Jonathan A. Sternberg 849927158e
build(flux): update Flux to v0.70.0 (#18783) 2020-06-29 15:39:18 -05:00
karel-rehor 3eac7ec154
chore(nightly_tests): update circle config to use actual acceptance tests (#18599) 2020-06-18 10:17:20 -06:00
Alex Boatwright 238c3ecb47
fix: maybe looking at the correct file will help (#18582) 2020-06-17 13:34:38 -07:00
Paul Hummer 9ab0c88b8e fix: correctly set the path to o64-clang 2020-06-11 16:52:59 -06:00
Paul Hummer cebd303cfb fix: enable osxcross for releases 2020-06-11 15:29:15 -06:00
Paul Hummer 46380e7607 fix: build osxcross in $HOME rather than /opt
Installing `osxcross` to `/opt` requires superuser permissions. This is
built as root in flux, but requires `sudo` for circleCI. Additionally,
there was a problem with `o64-clang` not being on the `PATH` that we
would have discovered the next time we tried to release.
2020-06-11 12:18:42 -06:00
Paul Hummer 500395edb6 fix: add support for macOS cross-compilation
This patch adds support for building macOS binaries via the release
system.
2020-06-09 21:45:13 -06:00
Jonathan A. Sternberg 4eb53314e1
fix(release): make the release build work properly with libflux (#18273) 2020-05-29 10:02:56 -05:00
jlapacik 34e581ca0a Merge branch 'master' into chore/merge-master 2020-05-12 11:18:25 -07:00
Ariel Salem c6b2fc5d2c
feat(custom-tz): added the ability to set UTC as the timezone when making custom time range queries (#18011) 2020-05-11 09:15:48 -07:00
Ariel Salem 20054d1d0c
Revert "feat(custom-timerange-tz): timeZone dropdown is now integrated in setting custom time ranges for queries (#17992)" (#18008)
This reverts commit 97c15012a1.
2020-05-07 15:04:24 -07:00
Ariel Salem 97c15012a1
feat(custom-timerange-tz): timeZone dropdown is now integrated in setting custom time ranges for queries (#17992) 2020-05-07 14:39:39 -07:00
jlapacik 2ef9999907 Merge branch 'master' into chore/merge-master 2020-04-30 09:53:04 -07:00
Gavin Cabbage 95913534a0
feat(kit/feature): add feature flag package (#17851)
* feat(kit/feature): add feature flag package

* refactor(kit/feature/_codegen): simplify with fmt.Errorf

* chore(kit/feature): tidy comments
2020-04-30 11:29:43 -04:00
jlapacik 63fd3655be Merge branch 'master' into chore/merge-master-into-algo-w 2020-04-22 14:52:59 -07:00
Gershon Shif fd76f14209
chore(build): start running nightly builds 2hour earlier (#17818)
It was a request from boonito QA to start running nightly builds 2 hours earlier, instead of 7am UTC to start running nightly builds at 5am UTC (10pm PDT) to give them time to debug test failures.
2020-04-21 10:40:17 -07:00
jlapacik 9857ae17aa feat: release a nightly image of algow 2020-04-16 15:33:11 -07:00
Jonathan A. Sternberg 469c5849c4
Merge branch 'master' into feat/use-algo-w 2020-04-03 09:30:04 -05:00
Gershon Shif 633b588b1b
chore(litmus): start influxd on local machine (#17347) 2020-03-18 16:48:54 -07:00
Gershon Shif 4928259411
chore: added INFLUXPATH parameter required by backup and restore tests (#17306) 2020-03-16 20:12:38 -07:00
Gershon Shif fb300a1182
chore(litmus): run integration tests on master: (#17292)
* chore(litmus): run integration tests on master:
- aafter successful E2E run after master build, run integration tests
	modified:   .circleci/config.yml
	modified:   etc/litmus_fail_notify.sh
	modified:   etc/litmus_success_notify.sh

* chore(litmus): litmus_integration run should depend on litmus_daily test run
	modified:   .circleci/config.yml
2020-03-16 13:41:13 -07:00
Jonathan A. Sternberg 0d6e4e310b
Merge branch 'master' into feat/use-algo-w 2020-03-06 16:46:49 -06:00
karel-rehor b2a0839a14
chore: update circleci nightly-sel image chrome version (#17058)
* chore: update circleci nightly-sel image chrome version

* chore: update node image to node:lts-stretch-browsers
2020-03-04 09:51:39 +01:00
Alex Boatwright 31cfbde380
feat: upgrading lsp to 0.3.0 (#17043) 2020-03-02 09:38:30 -08:00
Jonathan A. Sternberg 25b0e37522
feat: add support for pkg-config (#17036)
This adds support for using pkg-config to build libflux inside of the
flux dependency. The build can occur by either installing `pkg-config`
into your path or the `env` script can be used to invoke it from the go
modules.
2020-02-28 11:08:21 -06:00
Chris Goller 4f2076acf6
build: run e2e tests hourly (#16228)
Signed-off-by: Chris Goller <goller@gmail.com>
2020-02-26 15:03:43 -06:00
Christopher M. Wolff 16fc8dfecd
build: remove -tags libflux and FLUX_PARSER_TYPE from build and circleci config (#16883)
Also, update to latest algo-w flux
2020-02-19 07:59:05 -08:00
Alex Boatwright 6611aae63f
fix: enabling prettier (#16593) 2020-01-17 13:41:15 -08:00
Russ Savage 3a84d5011f
chore(README): updates for beta (#16364)
* feat(docs): updates for beta

* fix(readme): addressing pr feedback

* chore(readme): addressing feedback from paul
2020-01-08 10:35:58 -08:00
j. Emrys Landivar (docmerlin) 026cff4bf9 chore: update to go 1.13 2020-01-07 16:42:06 -06:00
Chris Goller 4755e50af8
ci: run go race tests in parallel over 8 containers (#16288)
* ci: run go race tests in parallel over 8 containers

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: add timing hint for splitting go tests

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: remove spurious grep

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: mod=readonly should ignore unknown internal/promqltests path

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: echo the packages tested

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: remove readonly experiment

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: filter promql internal tests

The promql internal tests has a special go.mod that shows
up in go list.  That directory cannot be tested.

Signed-off-by: Chris Goller <goller@gmail.com>
2019-12-18 23:47:26 -06:00
Chris Goller a942924cbb
ci: split go and js linting into separate circleci jobs (#16282)
* build: split go linting from tests

Signed-off-by: Chris Goller <goller@gmail.com>

* build: split js linting from tests

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: run go tests without verbose option

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: parallelize eslint with 8 containers

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: cache node modules for eslint

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: lint circle yaml

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: cd into ui directory for node caching

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: note eslint parallelization

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: update yarn cache directory to global

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: cache jstest yarn downloads

Signed-off-by: Chris Goller <goller@gmail.com>

* ci: note parallelization of jest tests

Signed-off-by: Chris Goller <goller@gmail.com>
2019-12-18 16:57:08 -06:00
Chris Goller fe0aea0542
build: add circleci target to restrict max jest workers
Signed-off-by: Chris Goller <goller@gmail.com>
2019-12-18 13:18:03 -06:00
Chris Goller e4a6180309
build: split the jest test to run in parallel
Signed-off-by: Chris Goller <goller@gmail.com>
2019-12-18 12:03:52 -06:00
Yiqun Zhang 1c327904c9 fix: run gotest with libflux tag and cgo ldflags 2019-12-16 10:13:40 -05:00
Yiqun Zhang 4ea8d01a23 fix: test baseline to use rust parser! 2019-12-13 11:51:49 -05:00
Yiqun Zhang 549e3c9eb3 build: using libflux in OSS 2019-12-13 10:43:15 -05:00
karel-rehor 7f964b833d
test: add selenium acceptance tests to nightly build - Bonitoo/selenium nightly (#15795)
* add selenium acceptance tests to circleci

* remove selenium workflow

* rename artefacts to artifacts

* rename artefacts to artifacts in pipeline too

* remove sleep and add endpoint check
2019-11-12 13:55:17 +01:00
Julius Volz e4558257e3 test(query): add PromQL end-to-end tests in go submodule
Signed-off-by: Lorenzo Affetti <lorenzo.affetti@gmail.com>
Signed-off-by: Julius Volz <julius.volz@gmail.com>

move to internal

update flux to v0.50

Revert "move to internal"

This reverts commit bcd4caffbd44135f1dbeac4163cb2a22a751f45a.

promtests/internal --> internal/promtests
2019-10-28 18:59:50 +01:00
docmerlin (j. Emrys Landivar) 19fe098888 chore(ci): update go-tools 2019-08-22 10:55:05 -05:00
Russ Savage 4172dfd09e
fix(circleci): add protoc to release build (#14658) 2019-08-14 12:24:27 -07:00
Andrew Watkins 7d9ec64eec
build(client): generate client on each build (#14591)
* chore: add new types for NotiicationRules

* build(client): remove client and build each build

* chore: update gitignore to exclude generated client

* fix: allow client dir to be empty

* docs: add README to client dir

* fix(build): add autogen client to eslintignore

* build: gen client for ci js tests
2019-08-07 13:42:35 -07:00
Chris Goller d3821e12dd
ci(nightly): install protoc (#14486) 2019-07-26 16:21:14 -05:00
Russ Savage b28fb15598
add bzr to release build (#14474) 2019-07-25 16:46:15 -07:00
Christopher Wolff 42db95f359 test(circleci): install bzr before building and running e2e tests 2019-07-24 14:49:57 -07:00
Christopher Wolff 035739b5b7 test(circleci): install bzr before running go tests 2019-07-24 14:33:34 -07:00
Chris Goller 510f7bb057 fix(task): lookup fully hydrated task after creation (#13709)
* fix(task): lookup fully hydrated task after creation

* ci(circle): save go race and litmus test results artifact
2019-05-01 14:54:27 -06:00
Mark Rushakoff 3507027dc0 ci: use go1.12 on CircleCI
And update go.sum from a go1.12 mod tidy.
2019-04-12 13:38:48 -07:00
Brandon Farmer 91dbf02c7f Remove npm caching, ensure fresh dependencies are installed 2019-04-09 12:57:37 -07:00
Kelvin Wang 1cf600aca9 remove proto 2019-04-03 15:42:25 -04:00
Mark Rushakoff 6cb90686ff ci: fail build if binary files committed
Binary files can be whitelisted with the special line 'Adds-Binary:
<path/to/binary/file>' included in the commit message body. Deliberately
checked-in binary files should be very rare.

With minimal effort, this could probably be repurposed as a local
postcommit hook.
2019-03-15 09:17:07 -07:00
Gershon Shif d0694f28b3
ci(litmus): do not run litmus tests on forked PRs (#12063)
* ci(litmus): do not run litmus tests on forked PRs

- add a step to check if PR is from fork. If it is, then stop execution of the step and successfully return.
- Fix for https://github.com/influxdata/influxdb/issues/11965
2019-02-21 12:28:38 -08:00
Michael Desa 6a8a1fce32 feat(kv): implemented key/value store with end-to-end integration tests
* feat(kv:inmem:bolt): implement user service in a kv

* refactor(kv): use consistent func receiver name

* feat(kv): add initial basic auth service

* refactor(passwords): move auth interface into own file

* refactor(passwords): rename basic auth files to passwords

* refactor(passwords): rename from BasicAuth to Passwords

* refactor(kv): copy bolt user test into kv

Co-authored-by: Michael Desa <mjdesa@gmail.com>

* feat(kv): add inmem testing to kv store

* fix(kv): remove extra user index initialization

* feat(kv): attempt at making errors nice

* fix(http): return not found error if filter is invalid

* fix(http): s/platform/influxdb/ for user service

* fix(http): s/platform/influxdb/ for user service

* feat(kv): initial port of telegraf configs to kv

* feat(kv): first pass at migrating bolt org service to kv

* feat(kv): first pass at bucket service

* feat(kv): first pass at migrating kvlog to kv package

* feat(kv): add resource op logs

* feat(kv): first pass at user resource mapping migration

* feat(kv): add urm usage to bucket and org services

* feat(kv): first pass at kv authz service

* feat(kv): add cascading auth delete for users

* feat(kv): first pass d authorizer.OrganizationService in kv

* feat(cmd/influxd/launcher): user kv services where appropriate

* fix(kv): initialize authorizations

* fix(influxdb): use same buckets while slowly migrating stuff

* fix(kv): make staticcheck pass

* feat(kv): add dashboards to kv

review: make suggestions from pr review

fix: use common bucket names for bolt/kv stores

* test(kv): add complete password test coverage

* chore(kv): fixes for staticcheck

* feat(kv): implement labels generically on kv

* feat(kv): implement macro service

* feat(kv): add source service

* feat(kv): add session service

* feat(kv): add kv secret service

* refactor(kv): update telegraf and urm with error messages

* feat(kv): add lookup service

* feat(kv): add kv onboarding service

* refactor(kv): update telegraf to avoid repetition

* feat(cmd/influxd): use kv lookup service

* feat(kv): add telegraf to lookup service

* feat(cmd/influxd): use kv telegraf service

* feat(kv): initial port of scrapers in bolt to kv

* feat(kv): update scraper error messaging

* feat(cmd/influxd): add kv scraper

* feat(kv): add inmem backend tests

* refactor(kv): copy paste errors

* refactor(kv): add code to password errors

* fix(testing): update error messages for incorrect passwords

* feat(kv:inmem:bolt): implement user service in a kv

* refactor(kv): use consistent func receiver name

* refactor(kv): copy bolt user test into kv

Co-authored-by: Michael Desa <mjdesa@gmail.com>

* feat(kv): add inmem testing to kv store

* fix(kv): remove extra user index initialization

* feat(kv): attempt at making errors nice

* fix(http): return not found error if filter is invalid

* fix(http): s/platform/influxdb/ for user service

* feat(kv): first pass at migrating bolt org service to kv

* feat(kv): first pass at bucket service

* feat(kv): first pass at migrating kvlog to kv package

* feat(kv): add resource op logs

* feat(kv): first pass at user resource mapping migration

* feat(kv): add urm usage to bucket and org services

* feat(kv): first pass at kv authz service

* feat(kv): add cascading auth delete for users

* feat(kv): first pass d authorizer.OrganizationService in kv

* feat(cmd/influxd/launcher): user kv services where appropriate

* feat(kv): add initial basic auth service

* refactor(passwords): move auth interface into own file

* refactor(passwords): rename basic auth files to passwords

* fix(http): s/platform/influxdb/ for user service

* fix(kv): initialize authorizations

* fix(influxdb): use same buckets while slowly migrating stuff

* fix(kv): make staticcheck pass

* feat(kv): add dashboards to kv

review: make suggestions from pr review

fix: use common bucket names for bolt/kv stores

* feat(kv): implement labels generically on kv

* refactor(passwords): rename from BasicAuth to Passwords

* test(kv): add complete password test coverage

* chore(kv): fixes for staticcheck

* feat(kv): implement macro service

* feat(kv): add source service

* feat(kv): add session service

* feat(kv): initial port of telegraf configs to kv

* feat(kv): initial port of scrapers in bolt to kv

* feat(kv): add kv secret service

* refactor(kv): update telegraf and urm with error messages

* feat(kv): add lookup service

* feat(kv): add kv onboarding service

* refactor(kv): update telegraf to avoid repetition

* feat(cmd/influxd): use kv lookup service

* feat(kv): add telegraf to lookup service

* feat(cmd/influxd): use kv telegraf service

* feat(kv): update scraper error messaging

* feat(cmd/influxd): add kv scraper

* feat(kv): add inmem backend tests

* refactor(kv): copy paste errors

* refactor(kv): add code to password errors

* fix(testing): update error messages for incorrect passwords

* feat(http): initial support for flushing all key/values from kv store

* feat(kv): rename macro to variable

* feat(cmd/influxd/launcher): user kv services where appropriate

* refactor(passwords): rename from BasicAuth to Passwords

* feat(kv): implement macro service

* test(ui): introduce cypress

* test(ui): introduce first typescript test

* test(ui/e2e): add ci job

* chore: update gitignore to ignore test outputs

* feat(inmem): in memory influxdb

* test(e2e): adding pinger that checks if influxdb is alive

* hackathon

* hack

* hack

* hack

* hack

* Revert "feat(inmem): in memory influxdb"

This reverts commit 30ddf032003e704643b07ce80df61c3299ea7295.

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* hack

* chore: lint ignore node_modules

* hack

* hack

* hack

* add user and flush

* hack

* remove unused vars

* hack

* hack

* ci(circle): prefix e2e artifacts

* change test to testid

* update cypress

* moar testid

* fix npm warnings

* remove absolte path

* chore(ci): remove /home/circleci proto mkdir hack

* wip: crud resources e2e

* fix(inmem): use inmem kv store services

* test(dashboard): add first dashboard crud tests

* hack

* undo hack

* fix: use response from setup for orgID

* chore: wip

* add convenience getByTitle function

* test(e2e): ui can create orgs

* test(e2e): add test for org deletion and update

* test(e2e): introduce task creation test

* test(e2e): create and update of buckets on org view

* chore: move types to declaration file

* chore: use route fixture in dashboard tests

* chore(ci): hack back

* test(ui): update snapshots

* chore: package-lock

* chore: remove macros

* fix: launcher rebase issues

* fix: compile errors

* fix: compile errors

* feat(cmd/influxdb): add explicit testing, asset-path, and store flags

Co-authored-by: Andrew Watkins <watts@influxdb.com>

* fix(cmd/influxd): set default HTTP handler and flags

Co-authored-by: Andrew Watkins <watts@influxdb.com>

* build(Makefile): add run-e2e and PHONY

* feat(kv:inmem:bolt): implement user service in a kv

* refactor(kv): use consistent func receiver name

* feat(kv): add initial basic auth service

* refactor(passwords): move auth interface into own file

* refactor(passwords): rename basic auth files to passwords

* refactor(passwords): rename from BasicAuth to Passwords

* refactor(kv): copy bolt user test into kv

Co-authored-by: Michael Desa <mjdesa@gmail.com>

* feat(kv): add inmem testing to kv store

* fix(kv): remove extra user index initialization

* feat(kv): attempt at making errors nice

* fix(http): return not found error if filter is invalid

* fix(http): s/platform/influxdb/ for user service

* fix(http): s/platform/influxdb/ for user service

* feat(kv): initial port of telegraf configs to kv

* feat(kv): initial port of scrapers in bolt to kv

* feat(kv): first pass at migrating bolt org service to kv

* feat(kv): first pass at bucket service

* feat(kv): first pass at migrating kvlog to kv package

* feat(kv): add resource op logs

* feat(kv): first pass at user resource mapping migration

* feat(kv): add urm usage to bucket and org services

* feat(kv): first pass at kv authz service

* feat(kv): add cascading auth delete for users

* feat(kv): first pass d authorizer.OrganizationService in kv

* feat(cmd/influxd/launcher): user kv services where appropriate

* fix(kv): initialize authorizations

* fix(influxdb): use same buckets while slowly migrating stuff

* fix(kv): make staticcheck pass

* feat(kv): add dashboards to kv

review: make suggestions from pr review

fix: use common bucket names for bolt/kv stores

* test(kv): add complete password test coverage

* chore(kv): fixes for staticcheck

* feat(kv): implement labels generically on kv

* feat(kv): implement macro service

* feat(kv): add source service

* feat(kv): add session service

* feat(kv): add kv secret service

* refactor(kv): update telegraf and urm with error messages

* feat(kv): add lookup service

* feat(kv): add kv onboarding service

* refactor(kv): update telegraf to avoid repetition

* feat(cmd/influxd): use kv lookup service

* feat(kv): add telegraf to lookup service

* feat(cmd/influxd): use kv telegraf service

* feat(kv): update scraper error messaging

* feat(cmd/influxd): add kv scraper

* feat(kv): add inmem backend tests

* refactor(kv): copy paste errors

* refactor(kv): add code to password errors

* fix(testing): update error messages for incorrect passwords

* feat(kv): rename macro to variable

* refactor(kv): auth/bucket/org/user unique checks return errors now

* feat(inmem): add way to get all bucket names from store

* feat(inmem): Buckets to return slice of bytes rather than strings

* feat(inmem): add locks around Buckets to avoid races

* feat(cmd/influx): check for unauthorized error in wrapCheckSetup

* chore(e2e): add video and screenshot artifcats to gitignore

* docs(ci): add build instructions for e2e tests

* feat(kv): add id lookup for authorized resources
2019-02-19 17:47:19 -06:00
Gershon Shif 0147470353
fix nightly (#11790)
- add persist_to_worspace to deploy build job
2019-02-09 22:57:42 -08:00
Gershon Shif ac6545e9ac
use attach_workspace for litmus nightly builds (#11785) 2019-02-08 16:55:45 -08:00
Gershon Shif aa66aebaaa
enable Litmus Smoke tests on daily PRs (#11747)
* enable Litmus Smoke tests on daily PRs

- created a litmus_daily job
- added persist_to_workspace to build job to have access to influxd binary
- added litmus_daily to build workflow
- added two script files, litmus_success_notify.sh and litmus_fail_notify.sh to `etc` directory
- added the above script files to the one to be shared in the workspace
- updated litmus_daily and litmus_nightly jobs to use scripts for notifications.
2019-02-07 17:21:56 -08:00
Gershon Shif f3cd889d1e
Add slack notifications to litmus nightly runs (#11648)
- Add a conditional slack notifications to litmus nightly job.
2019-01-31 15:13:34 -08:00
Gershon Shif c72363c7ec
Add litmus test runs to nightly build (#11620) 2019-01-25 12:18:56 -08:00
Luke Morris 954bc8df78 ci: build and release for pushed github tags
Co-authored-by: Mark Rushakoff <mark@influxdb.com>
Co-authored-by: Chris Goller <goller@gmail.com>
2019-01-23 13:24:28 -08:00
Chris Goller a0121c8819 ci(goreleaser): create a release version of goreleaser
Co-authored-by: Luke Morris <lukevmorris@gmail.com>
Co-authored-by: Mark Rushakoff <mark@influxdata.com>
2019-01-23 14:19:05 -06:00
Chris Goller b9cfc72d25 ci(circle): decrease the number of parallel race tests
Trying to not get race tests killed by circle by decreasing the number of parallel tests run.
2019-01-22 22:18:14 -06:00
AJ Bond 08ae5647bf chore(ci): Restore nightly schedule 2019-01-16 14:26:08 -05:00
AJ Bond cd11b348ed fix(ui): Fix UI generation issues
This issue allows for the ui to be generated during the build proccess
2019-01-15 20:45:38 -05:00
AJ Bond f7b6bfacf7 chore(ci): Fix nightly build bug
The project is currently using goreleaser to manage building nightly binaries, docker images and uploads to s3.
The tool has a strict dependency on semantic versioned tags. InfluxDB history does not have a valid semantic tag causing the tool to fail. This commit creates a valid tag for the current time to allow nightly builds to continue.
2019-01-14 17:30:27 -05:00
Mark Rushakoff d73d73c0d4 chore: rename imports from platform to influxdb
I did this with a dumb editor macro, so some comments changed too.

Also rename root package from platform to influxdb.

In interest of minimizing risk, anyone importing the root package has
now aliased it to "platform" so that no changes beyond imports were
necessary in those files.

Lastly, replace the old platform module to local path /dev/null so that
nobody can accidentally reintroduce a platform dependency while
migrating platform code to influxdb.
2019-01-09 20:51:47 -08:00
AJ Bond e699a209e6 chore(ci): Update schedule back to single nightly build 2018-12-21 17:01:09 -05:00
AJ Bond 89b5ad0c86 chore(ci): Update trigger schedule 2018-12-21 16:55:37 -05:00
ABond 0f8f169558
Merge pull request #2074 from influxdata/chore/true-nightlies
chore(CircleCI): turn off deploy on commits to master
2018-12-20 13:11:23 -05:00
AJ Bond da67b392da chore(ci): Update make to build for each PR 2018-12-20 12:13:41 -05:00
Nathaniel Cook bd2105c923 chore(CircleCI): turn off deploy on commits to master 2018-12-20 09:34:26 -07:00
Mark Rushakoff c2d88d4e70 ci: ensure go.sum matches original file from checkout
In go1.11, go mod vendor can modify go.sum when go.mod contains replace
directives. This behavior has been fixed in go1.12, so just work around
it for now.

Fixes #2056.
2018-12-20 10:04:55 -05:00
zhulongcheng a1f3ca5151 fix(ci): add required jobs 2018-12-16 18:21:33 +08:00
AJ Bond ac61849bc4 chore(ci): Setup nightly build 2018-12-13 16:48:09 -05:00
Mark Rushakoff c7064463a4 ci: use -p=4 on circle
The docker container we're using has 2 vCPUs. -p=8 was working fine for
a while, but diagnosing #1832 looks like the tsi1.test process was
likely getting OOM-killed. Reducing from -p=8 to -p=4 ought to reduce
memory pressure enough to avoid OOM kills, hopefully.

Also remove a stale TODO.
2018-12-13 08:46:00 -08:00
AJ Bond 5a0bcd7f2c chore(ci): Reset CircleCI cache logic 2018-12-07 14:17:03 -08:00
Michael Desa a4a9e1b45f chore: remove make test-integration from circle ci tests
Temporarily remove the call to make test-integration so that nightly
builds are not broken.

Related to https://github.com/influxdata/platform/issues/1676
2018-12-04 15:17:45 -05:00
Brandon Farmer f04d420709 Remove yarn in favor of just npm 2018-11-30 17:02:31 -08:00
Michael Desa 56de056085 feat(vault): add vault implementation of secret service
test(platform): run testcontainer integration tests for nightly release

Integration tests for the vault secret service using testcontiners
should not run along with unit tests, however, they should run on some
regular schedule. This commit introduces `make test-integration` which
runs integration tests for vault using testcontainers. The command introduced
relies on docker being available on the host it is executed on.

chore(platform): make go modules tidy

chore: try to fix go mod

chore(platform): remove explicit logrus dependency

chore(platform): run go mod tidy

chore(platform): replace github.com/Sirupsen/logrus with github.com/sirupsen/logrus

chore(platform): update docker dependency

feat(vault): add vault implementation of secret service

test(platform): run testcontainer integration tests for nightly release

Integration tests for the vault secret service using testcontiners
should not run along with unit tests, however, they should run on some
regular schedule. This commit introduces `make test-integration` which
runs integration tests for vault using testcontainers. The command introduced
relies on docker being available on the host it is executed on.

chore(platform): make go modules tidy

chore: try to fix go mod

chore(platform): run go mod tidy

feat(vault): add vault implementation of secret service

chore(platform): make go modules tidy

feat(platform): add Put/Patch/Delete methods on secret service

feat(vault): add Put/Patch/Delete methods on vault secret service

feat(http): add http handler methods for secret service

feat(bolt): add Put/Delete/Patch methods to bolt secret service

feat(testing): add tests for Put/Patch/Delete methods in secret service

feat(mock): add mock secret service

feat(http): add tests for secrets endpoints

feat(http): update swagger for secrets endpoints

chore: run go mod tidy
2018-11-30 13:07:32 -08:00
Edd Robinson 2471024253 Use staticcheck on next branch 2018-11-30 10:53:53 +00:00
Mark Rushakoff a7fdd17815 ci: re-enable race builds in circle config
I looked through the past few days of Circle Go failures, and they all
appeared to be real test errors, indicating that the -p=8 flag most
likely fixed the linker OOMs we were seeing.

If the race-enabled tests continue to OOM, we can try setting -p=2 to
match the number of CPUs actually available on our Circle container.
2018-11-12 08:24:43 -08:00
Mark Rushakoff d8dedc5644 ci: use -p=8 in GOFLAGS to reduce linker OOMs
The environment Go runs in thinks there are 32 CPUs, but according to
https://circleci.com/docs/2.0/configuration-reference/#resource_class
that's a known issue, and only 2 CPUs are actually available.

We're still overallocating with -p=8, so if we continue to get OOMs we
may need to reduce that further.
2018-11-02 17:21:33 -07:00
Mark Rushakoff 68c0ad29e2 ci: add megacheck to tools.go 2018-11-01 13:25:22 -07:00
Mark Rushakoff b37279c50e ci: remove 2/3 disabled exit-non-zero flags for megacheck
The one remaining failing static check is in a pigeon-generated promql
file. It looks like megacheck is supposed to ignore generated files by
default, so it's unclear at this time if this is a bug in megacheck, or
if fixing pigeon is the only path forward.
2018-11-01 12:54:46 -07:00
Mark Rushakoff 9acc251ab0 ci: re-enable megacheck 2018-11-01 12:46:33 -07:00
Michael Desa fdbec9303d chore(ui): update misc build files related to moving chronograf/ui to ui 2018-10-29 14:00:45 -04:00
Chris Goller 5c5b5f50c8 ci(tests): remove go race tests from circle
We think we are being OOM-killed as our plan as 4 GB of ram.
2018-10-26 15:56:11 -05:00
Jonathan A. Sternberg f3b2959e89
feat: save and restore the /go/pkg/mod directory in circleci 2018-10-11 16:11:36 -05:00
Jonathan A. Sternberg 0e14b63425
feat: checktidy will check the go.mod and go.sum files in circleci 2018-10-10 15:35:02 -05:00
Chris Goller 2f2334a3f3 ci(gofmt): check go formatting with each PR 2018-10-08 17:23:54 -05:00
Andrew Watkins e34d2e76ea
chronograf(v2-views): Introduce new view patterns, linting, and TypeScript 3.x (#901)
* Simplifiy color type

* Fix type

* Introduce V2 data shape for views

* WIP Split style and parsing to separate Dygraph components

* Add basic dygraph view types

* Add Gauge to v2 view shapes

* Upgrade TypeScript to ^3.0

* Add tsc to Circle build

* Fix Dygraph component paths

* Add testURL to jest config

* Upgrade lodash types

* Remove redundant test linter stetp

* Upgrade to TypeScript ^3

* Remove TableGraph (temporarily)
2018-09-27 10:46:48 -07:00
Jonathan A. Sternberg 46ed9bc4fb feat: switch to using go modules for building
This updates the dependency manager to use go modules instead of dep so
that we can remove dep as a dependency and we can begin using and giving
feedback on modules within this project. It should simplify dependency
management and make it faster to run the builds too.

The big change is updating the various Makefiles to stop relying on the
vendor directory because it no longer exists. This change creates a
`tools.go` file with the revisions of the tools we use that are currently
in the `required` section of `Gopkg.toml`. We are currently in other
discussions to modify how we handle tool dependency management, but this
change does not change that.
2018-09-20 08:33:15 -07:00
Mark Rushakoff a177069b49 ci: restore cache for deploy job
The last few runs of deploy took 3m33s, 3m40s, and 4m27s. It should be
noticeably faster after we restore the cache.
2018-08-28 15:20:36 -07:00
Mark Rushakoff 8a6749fc1c ci: share yarn cache on Circle
On a cache miss, `yarn install` via `make node_modules` takes about 42
seconds, plus about 19 seconds to upload the cache. See
https://circleci.com/gh/influxdata/platform/1872.

On a cache hit, `make node_modules` takes about 7 seconds to download
the cache plus 19 seconds to `yarn install`. See
https://circleci.com/gh/influxdata/platform/1877. Using the cache here
is a net gain of about 16 seconds on cache hit, which is the most likely
case given a random commit.
2018-08-28 14:43:04 -07:00
Mark Rushakoff 66b0ea1f14 ci: cache dep too
Running `dep ensure` via `make vendor`, with a clean dep cache, takes
around 30 seconds.

For run https://circleci.com/gh/influxdata/platform/1838, we can see
that `make vendor` took 33 seconds and saving the dep cache took 38
seconds. The 38 seconds to save the dep cache is paid the first time
that a particular version of Gopkg.lock is pushed. A subsequent run that
fully uses the dep cache costs 14 seconds to restore the dep cache and 5
seconds to run `make vendor`, so this saves about 10 seconds for any run
that doesn't change Gopkg.lock. See
https://circleci.com/gh/influxdata/platform/1840.
2018-08-28 13:59:25 -07:00
Mark Rushakoff d26233f47e ci: enable GOCACHE for Circle
With a clean GOCACHE, `make test-go` took about 30 seconds. It's hard to
tell the exact time since `make vendor` was implicitly executed in the
same block.

Now, `make test-go` uses GOCACHE and takes about 5 seconds to restore
the cache, then about 8 seconds to run through a fully cached set of
tests. If any test is actually broken or doesn't compile, this will give
us fast feedback.

But this change also runs `go test -race -count=1`, so that we fully
exercise any possible data races. That currently takes about 19 seconds.

Then finally we save GOCACHE, which has our `go test` results, and a
populated build cache for our test files, including built with the race
detector. Saving that takes about 14 seconds.

That means we took about 30 seconds originally to just run `go test
-count=1`, and now we take (5+8+19+14)=46 seconds to run plain go test
and go test with the race detector. There's probably an argument to be
made for just running with the race detector, but running both gives us
more coverage IMO, and it does allow us to run tests that aren't enabled
on race builds.

See https://circleci.com/gh/influxdata/platform/1840 for a run with full
caching.
2018-08-28 13:59:25 -07:00
Mark Rushakoff 548bf5d3da ci: use Go 1.11 in CircleCI 2018-08-28 13:59:25 -07:00
lukevmorris 7e9f90dbce
chore(ci): parallelize js and go tests (#670)
This PR teases apart the golang and js build steps so that they can be run in parallel in circleci, or locally with make test -j2.

Closes #599
2018-08-27 08:34:17 -07:00
Chris Goller 0ce8bb57ed ci(deploy): nightlies use circleci/golang:1.10.3-node-browsers 2018-07-25 17:27:33 -05:00
Michael Desa dc7418f7fe makefile: fix make file to run go generate 2018-07-23 17:42:03 -04:00
Jonathan A. Sternberg 54dde88da1 fix(circleci): setup remote docker so that the deploy works for nightlies 2018-07-17 17:32:34 -05:00
Jonathan A. Sternberg de61a79483 feat(docker): create a fluxd nightly docker image 2018-07-17 15:06:31 -05:00
Nathaniel Cook 08eb19805d chore(CI): Create nightly builds of ifqld
The builds are really anytime a commit is made to master not nightly.
Builds use goreleaser with the snapshot setting.
2018-05-23 09:13:46 -06:00
j. Emrys Landivar (docmerlin) 2f33928e1c add make vet 2018-05-23 00:21:26 -05:00
j. Emrys Landivar (docmerlin) 85c13d5f12 enable vet 2018-05-22 17:05:17 -05:00
Nathaniel Cook eb7210b107 fix(ci): fix circleci to use make file 2018-05-22 14:50:10 -06:00
docmerlin (j. Emrys Landivar) 6925c4b161 Circle ci 2018-05-16 10:43:33 -05:00