Commit Graph

186 Commits (9328ba8c4508b8a25529b24b438f7d76a78288df)

Author SHA1 Message Date
Marko Mikulicic 4a2f0b0a52
fix: Make heappy and nonheappy mutually exclusive
Closes #2288
2021-08-20 11:35:07 +02:00
Andrew Lamb 5e1cb244f7
feat: make pprof optional (#2331) 2021-08-18 15:13:37 +00:00
Raphael Taylor-Davies 70aca081ff
chore: fix dockerignore (#2300) (#2316)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-08-17 10:09:18 +00:00
Marko Mikulicic e1fe2ea27b fix: Enable heappy in our perf build 2021-08-13 17:21:55 +02:00
Andrew Lamb 05de6c0e31 chore: add heappy end to end tests 2021-08-13 08:20:08 -05:00
Andrew Lamb 697de875ca refactor: make heappy an optional feature, add to build image 2021-08-13 08:11:32 -05:00
Luke Bond 88e4bcd139
chore: update .circleci/get-deploy-tags.sh
Co-authored-by: Marko Mikulicic <mkm@influxdata.com>
2021-08-10 15:15:09 +01:00
Luke Bond 083423a629
chore: update image promotion script 2021-08-10 13:36:55 +01:00
Andrew Lamb 82677d9510
feat: add `jaeger` and `otlp` features, default to off (#2202)
* feat: add jaeger and otlp flags

* chore: add jaeger and otlp features to CI test and deploy image

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-08-06 13:26:59 +00:00
Andrew Lamb 4a44b14d4d
fix: use avx2 (#2140) 2021-07-28 20:58:38 +00:00
Edd Robinson 287d501aa2
chore: build with avx512 instructions (#2118)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-28 19:47:37 +00:00
Andrew Lamb a1fbac74d5
refactor: Tweak perf_build script (#2121)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-28 13:47:18 +00:00
Edd Robinson 6528cab16f
Merge branch 'main' into er/chore/roaringivy 2021-07-26 17:38:18 +01:00
Edd Robinson fd29d5ae05 chore: target architecture with avx2 2021-07-26 17:36:44 +01:00
Marko Mikulicic 16f867272d
fix: Fix typo in print_cpu command name 2021-07-26 17:55:52 +02:00
Andrew Lamb 4def5bd816
chore: Add print_cpu command line to perf build (#2114)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-26 15:26:34 +00:00
Andrew Lamb 1a79bf7e99
refactor: Make aws/azure/gcs optional features and stop compiling 100 dependencies during dev (#1933)
* feat: make aws, gcp, azure dependencies optional

* fix: only run object store tests if the features are enabled

* fix: clean up testing

* fix: rename step

* fix: add to list of jobs

* fix: remove test with object store

* fix: review comments
2021-07-09 11:38:30 +00:00
Carol (Nichols || Goulding) 3abb4ca12d chore: Add RUST_BACKTRACE=1 to tests in CI
Fixes #1736.
2021-06-23 16:16:47 -04:00
Carol (Nichols || Goulding) 4612afe65d chore: Instead of installing rustup components, print all their versions 2021-06-23 15:28:58 -04:00
Carol (Nichols || Goulding) f0efd20259 chore: Switch to rust-toolchain.toml to specify Rust components we need as well 2021-06-23 15:28:58 -04:00
Marko Mikulicic 60c1b68644
chore: Store generated rustdoc as circleci artifacts 2021-06-23 00:20:55 +02:00
Carol (Nichols || Goulding) a0583381a1 chore: Run kafka integration tests using docker-compose
And, importantly, using the CircleCI machine image to avoid running
Docker-in-Docker.
2021-06-21 09:36:35 -04:00
Marko Mikulicic 05e35537d8
fix: give xlarge image to perf_image build step 2021-06-07 14:03:55 +02:00
Marko Mikulicic c77e57b7dc
feat: Preserve full debug infos in release builds
The `Cargo.toml` file already says:

```toml
[profile.release]
debug = true
```

but we were overriding it in the circleci release script to include only line number info,
probably to shave off some time from the total build time.

The ability to debug a production binary outweighs the few seconds or even a minute overhead it takes to
add the debug infos. If building with full debug infos take much much longer, next time we disable them
it would be nice to include such a dramatic fact in the comments next to where we disable debug infos :-)
2021-06-03 15:50:01 +02:00
Raphael Taylor-Davies 10f89a3e8d
refactor: split entry out into separate crate (#1428)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-05-06 11:36:23 +00:00
Marco Neumann 7d2a48eb3b ci: disable incremental compilation
This is to avoid overhead. We are not preserving these files anyway.
2021-05-05 13:30:25 +02:00
Marko Mikulicic 6b42c9a5ea
fix(ci): Push each image into its own tag
Using the git sha as the tag
2021-04-29 17:54:09 +02:00
Marko Mikulicic 756e1b769e
feat: Build a perf_image image for every commit in main 2021-04-28 10:12:34 +02:00
Marco Neumann 91bccdfca3 ci: pass `--document-private-items` to `cargo doc` 2021-04-27 15:42:07 +02:00
kodiakhq[bot] e78a81ee59
Merge branch 'main' into crepererum/ci_doc 2021-04-27 12:03:04 +00:00
Marko Mikulicic a9852c2257
fix: Disable docker layer caching in CI 2021-04-27 13:33:25 +02:00
Marco Neumann 2ee12298ef ci: pass `--no-deps` to `cargo doc`
This should speed things up a bit.
2021-04-27 13:22:28 +02:00
Marco Neumann af031894a6 ci: run `cargo doc` in CI
This will prevent checking in broken docs.
2021-04-27 13:22:26 +02:00
Marko Mikulicic 9633550cb8
fix: Log sha256sum before running docker build (#1309)
If the layer is cached, docker build won't print the output of the RUN command.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-04-27 07:34:36 +00:00
Luke Bond 39abadba0d chore: logging to debug CI 2021-04-26 12:49:23 +01:00
Carol (Nichols || Goulding) ce645262c6 fix: Rename LOCAL env var to INFLUXDB_IOX_INTEGRATION_LOCAL 2021-04-21 14:59:08 +00:00
Carol (Nichols || Goulding) 96afb25d1a test: Run influxd in docker by default for integration tests 2021-04-21 14:59:08 +00:00
Carol (Nichols || Goulding) 63fdab4628 chore: Remove installation of InfluxDB 2.0 OSS from CI job
Because it's now in the Docker image.
2021-04-21 14:59:08 +00:00
Carol (Nichols || Goulding) 9cc5b1950a fix: Regenerate flatbuffers in a Docker container by default 2021-04-21 14:59:08 +00:00
Raphael Taylor-Davies 79e6963d9b
fix: specify stable version (#1267) 2021-04-20 19:29:14 +00:00
Edd Robinson b64a1bca01 chore: update circle runners 2021-04-20 16:17:05 +01:00
Carol (Nichols || Goulding) 56bdd58c2e fix: Make sure rustfmt is installed for the flatbuffer check 2021-04-19 08:51:55 -04:00
Marco Neumann fd0da7e74a chore: upgrade arrow and Rust
See https://github.com/apache/arrow/pull/10082 for upstream PR.
2021-04-19 14:00:04 +02:00
Carol (Nichols || Goulding) db639881be feat: Always rebuild flatbuffers so CI will fail until someone fixes it 2021-04-09 14:31:18 +00:00
Carol (Nichols || Goulding) 2f2ca866dc chore: Check in CI that generated flatbuffers code has been checked in 2021-04-08 11:19:44 -04:00
Carol (Nichols || Goulding) 07ce5efcb8 chore: Set up CI for running integration tests against InfluxDB 2.0 OSS 2021-04-07 14:11:02 -04:00
Carol (Nichols || Goulding) 9d2fb2ad7f chore: Move regular CI to CircleCI 2021-03-29 12:55:56 -04:00
Raphael Taylor-Davies 96f9395299 feat: smaller IOx build images 2021-02-25 15:05:54 +00:00
Wojciech Kocjan ebd7f4c1e4 chore: use docker image inspect in get-deploy-tags.sh 2021-02-17 09:12:56 +01:00
Dom 348aaab6dd ci: trigger image promotion for deployment
Once an image is built and ready, exec the binary defined in the env var
IMAGE_PROMOTION_COMMAND to promote it (if set).
2021-01-22 10:35:10 +00:00
Wojciech Kocjan 2dc5eec3c7 fix: add Images toplevel object to JSON in get-deploy-tags.sh 2021-01-21 13:22:29 +01:00
Wojciech Kocjan 316b8bfec7 chore: add PublishedAt to get-deploy-tags.sh script 2021-01-21 09:25:49 +01:00
Dom b9137d5c6a fix: correct grep placement 2021-01-18 11:28:51 +00:00
Dom c11dba91b1
fix: use correct capitalisation
Co-authored-by: Wojciech Kocjan <wkocjan@influxdata.com>
2021-01-18 11:28:20 +00:00
Dom 56b5751172 fix: filter docker images with specified tag 2021-01-18 11:13:50 +00:00
Dom 3acdc9818f ci: output deployment tags for perf build
Once the perf image build is complete, output the JSON metadata needed
to deploy the container.
2021-01-15 16:02:18 +00:00
Dom 7e1e24ca21 ci: only run CircleCI for /perf branches
Filters the triggered CircleCI workflow to only run against branches with /perf
in their name.

No changes to the scheduled build image generation.
2020-11-27 11:34:56 +00:00
Dom 9c785a3b0f ci: add GitHub actions
Adds a GitHub CI action:

    * Uses the rust-toolchain file to install the requested version.
    * Performs a build with default cargo target
    * Runs workspace tests
    * Checks cargo fmt is happy
    * Runs clippy for lints, denying warnings

All commands taken from the existing CircleCI pipeline.

Currently no caching / reuse of build container.
2020-11-27 11:34:56 +00:00
Dom e93941e487 docs(ci): extra CI documentation
Adds some extra quick-glance docs for the CI flow.
2020-11-26 13:46:07 +00:00
Andrew Lamb 3a9ee88f00
chore: update to latest version of arrow + update code (#486)
* chore: update to latest version of arrow + update code

* chore: Update rust toolchain to match arrow

* fix: clippy
2020-11-25 14:46:35 -05:00
Andrew Lamb 831a0875d6
chore: update to latest arrow + Rust nightly-2020-11-14 (#454)
* chore: update to latest arrow + Rust nightly-2020-11-14

* chore: update ci

* fix: update for clippy lints

* fix: Allow redundant_field_names in generated types crate

* fix: clippy about try_for_each

* fix: clippy uneeded-collect

* fix: clippy about default values

* fix: clippy mathces --> matches!

* fix: clippy sort --> sort_by_key

* fix: clippy about default values again
2020-11-16 11:48:42 -05:00
Andrew Lamb 986436300b
fix: update the branch referece in nightly ci image to main (#438) 2020-11-11 06:40:38 -05:00
Andrew Lamb 0532821ed9
chore: Make the project root neat and tidy (#416)
* chore: move example env file into docs

* chore: move dockerfiles out of root

* chore: move storectl-bench.sh into benches
2020-11-10 10:00:22 -05:00
Andrew Lamb e1b230caab
chore: give executor more memory (#421) 2020-11-06 10:24:47 -05:00
Andrew Lamb c646f29794
feat: Add source checkout and initial build to docker CI image, don't use build cache (#381)
* feat: Add source checkout and initial build to docker CI image

* fix: remove tidbits
2020-10-22 05:50:36 -04:00
Andrew Lamb 3d7d4111be
fix: Upgrade the resource class used to run CI tests (#332) 2020-10-01 14:56:32 -04:00
Carol (Nichols || Goulding) 3340c45053 fix: Switch to fusion quay repo for performance builds
Connects to influxdata/fusion#29.
2020-07-22 09:33:42 -04:00
Carol (Nichols || Goulding) fc80b463d5 fix: Set ROARING_ARCH to build a portable binary using CRoaring
See https://github.com/saulius/croaring-rs/pull/62
2020-07-08 10:03:02 -04:00
Carol (Nichols || Goulding) 6d87d16754 feat: When a branch ends with /perf, build in release mode and upload to quay 2020-07-03 11:42:33 -04:00
Andrew Lamb 8475b6d183
feat: Add parquet writer, hook up conversion in dstool (#124)
* feat: Add parquet writer, hook up conversion in dstool

* fix: use bigger executor for test

* fix: less cloning

* fix: make unsupported messages less pejorative

* fix: fmt

* fix: Rename writer and do not require std::File, add example

* fix: clippy and fmt

* fix: remove unnecessary module in end to end tests

* fix: remove strange use of tempfile

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: cleanup use

* fix: Use more specific error messages

* fix: comment tweak

* fix: touchup temp path creation

* fix: clippy!

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-08 16:25:24 -04:00
Andrew Lamb 2200def8ea
feat: Use rust nightly (#123) 2020-06-05 17:45:44 -04:00
Andrew Lamb 18b05ce9ef
fix: move test of dstool to its delorean_storage_tool package (#107) 2020-06-02 16:10:30 -04:00
AJ Bond 86949a6fc1
fix(circleci): remove nightly install tools 2020-06-02 10:14:10 -04:00
AJ Bond 5aafbf1977
chore(build): setup nightly ci image build
We can reduce the number of install steps by using a custom container. This container will build nightly and publish to Quay
2020-06-02 10:00:17 -04:00
Andrew Lamb 1a2efdfd71
feat: Add dstool command line tool (#102)
* feat: Add dstool command line tool

* clippy

* Update delorean_storage_tool/src/main.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Update delorean_storage_tool/src/main.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Add in tests + PR comments

* fmt

* build first then run tests

* actually build before test

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-02 07:33:43 -04:00
Jake Goulding 0ea0cf6a93 ci: install the Flatbuffers compiler 2020-05-11 15:38:47 -04:00
Jake Goulding 083ec01d0b ci: No longer need to limit parallelism due to RocksDB 2020-05-08 10:29:48 -04:00
Carol (Nichols || Goulding) 05c7d5949a test: CI commands need some more flags now that we're a workspace 2020-04-27 09:42:53 -04:00
Carol (Nichols || Goulding) f81c8764d0 improvement: Fail the build on warnings too 2020-02-19 08:37:11 -05:00
Carol (Nichols || Goulding) e03b3e9326 fix: Run Clippy on test targets too by using --all-targets instead
It's confusing that `cargo fmt` takes `--all` to format everything but
`cargo clippy` takes `--all-targets` :-/
2020-02-19 08:37:11 -05:00
Edd Robinson 0b3c412cfc chore: make clippy required CI step 2020-02-14 18:27:53 +00:00
Jake Goulding fd76a7394c ci: Enforce standard formatting 2020-02-14 08:02:24 -05:00
Jake Goulding d8f3c31b8c ci: Prevent rustfmt and clippy from stopping the build for now 2020-02-09 22:23:27 -05:00
Jake Goulding 81468f9e5e ci: Adjust builds to run on highly parallel CI machines
By default, the RocksDB C library is compiled using the number of
cores on the machine. In CircleCI, this is 36 cores. Unfortunately,
that appears to completely blow out the memory usage, causing the C
compiler invocations to be killed.

This commit reduces the *entire* parallelism of the build to avoid
that.
2020-02-09 22:22:10 -05:00
AJ Bond 7a65f5550f
chore(circleci): add tiered cache configuration 2020-02-07 12:25:32 -05:00
AJ Bond c2de967e36
chore(circleci): setup circleci
This configures a circleci pipeline that runs fmt, lint, test, and build operations.
I changed the fmt command to --check since --overwrite is no longer supported.
The pipeline will always run on nightly builds of rust.
2020-02-07 11:46:47 -05:00