Commit Graph

494 Commits (80de52f15ffec1d21c7321483cdaac04bf8abc4c)

Author SHA1 Message Date
Jackson Newhouse 5b73485bef
feat: rework when docker builds and have main builds use release profile. (#25826) 2025-01-13 11:14:47 -08:00
Trevor Hilton d170f922e9
fix: package signing artifact names to use core not edge (#25808) 2025-01-12 09:11:44 -05:00
Paul Dix 674598e047
chore: only publish Docker for main (#25807) 2025-01-12 08:52:21 -05:00
Trevor Hilton 01f1f7fa35
chore: update artifact name to use core not edge (#25805) 2025-01-12 07:25:34 -05:00
Jackson Newhouse 07bddff7f4
feat: parameterize docker image name, use influxdb3-core. (#25802) 2025-01-11 15:43:33 -08:00
Jackson Newhouse c5a0fa736e
feat(docker): Rework docker builds to push to quay and be multi-arch. (#25800) 2025-01-11 14:39:39 -08:00
Trevor Hilton 3efd49066e
fix: bind to correct port for e2e tests (#25758)
* fix: bind to correct port for e2e tests

This also fixes up some log messages on server start for naming

* chore: do notpass value in TEST_LOG env var to CI tests
2025-01-07 12:23:59 -05:00
Brandon Pfeifer a043433760
chore: invalidate CloudFront on upload (#25651) 2024-12-12 16:00:23 -05:00
Brandon Pfeifer b2f6c1a0b6
feat: publish snapshot on merge to main (#25644) 2024-12-11 17:38:24 -05:00
Jamie Strandboge 277a6e0a87
chore(circleci): update to use language-checker (#25443) 2024-10-10 08:17:04 -05:00
Jamie Strandboge 0835093c78
feat(circleci): add inclusivity checks (#25437)
* feat(circleci): add inclusivity checks

* chore(circleci): adjust package-validation for inclusive language

* chore: update tests for inclusive language
2024-10-09 08:01:31 -05:00
praveen-influx 221e7600e0
chore: enable log for test failures (#25359) 2024-09-18 14:26:29 +01:00
Michael Gattozzi 2dae5c1093
feat: change CI to use cargo-nextest (#25339)
This changes our CI to use cargo-nextest which is faster and does not
have issues around global statics. Since it runs each test in it's
own process we don't have to worry about tests stepping on each other's
toes in this regard. It also updates the CI to ignore the current
cargo deny failure as we can't do anything until the arrow crates are
upgraded.
2024-09-16 16:41:49 -04:00
Brandon Pfeifer a5eba2f8f2
fix: only execute "build_dev" on non-fork branches (#25044) 2024-06-05 15:06:52 -04:00
Trevor Hilton 09fe268419
chore: clean up heappy, pprof, and jemalloc (#24967)
* chore: clean up heappy, pprof, and jemalloc

Setup the use of jemalloc as default allocator using tikv-jemallocator
crate instead of tikv-jemalloc-sys.

Removed heappy and pprof, and also cleaned up all the mutually exclusive
compiler flags for using heappy as the allocator.

* chore: remove heappy from ci
2024-05-06 15:21:18 -04:00
Michael Gattozzi c88cb5f093
feat: build binaries and Docker images in CI (#24751)
For releases we need to have Docker images and binary images available for the
user to actually run influxdb3. These CI changes will build the binaries on a
release tag and the Docker image as well, test, sign, and publish them and make
them available for download.

Co-Authored-By: Brandon Pfeifer <bpfeifer@influxdata.com>
2024-05-03 16:39:42 -04:00
Trevor Hilton e0465843be
feat: `/ping` API to serve version and revision (#24864)
* feat: /ping API to serve version

The /ping API was added, which is served at GET and
POST methods. The API responds with a JSON body
containing the version and revision of the build.

A new crate was added, influxdb3_process, which
takes the process_info.rs module from the influxdb3
crate, and puts it in a separate crate so that other
crates (influxdb3_server) can depend on it. This was
needed in order to have access to the version and
revision values, which are generated at build time,
in the HTTP API code of influxdb3_server.

A E2E test was added to check that /ping works.

E2E TestServer can now have logs emitted using the
TEST_LOG environment variable.
2024-04-01 16:57:10 -04:00
Michael Gattozzi a2984cdc17
chore: Update to Rust 1.77.0 (#24800)
* chore: Update to Rust 1.77.0

This is a fairly quiet upgrade. The only changes are some lints around
`OpenOptions` that were added to clippy between 1.75 and this version
and they're small changes that either remove unecessary function calls
or add a needed function call.

* fix: cargo-deny by using the --locked flag
2024-03-21 13:00:15 -04:00
Michael Gattozzi 1f8e079579
fix: slow limits test (#24761)
This commit re-enables the limits test after making a fix that has it
run <1 second on my laptop vs the old behavior of >=30 seconds. It does
so by constructing one single write_lp request to create 1995 tables
rather than 1995 individual requests that make a table. This is far more
efficient.
2024-03-12 15:51:23 -04:00
Trevor Hilton fad681c06c
chore: gate `limits` test behind a feature flag (#24737)
chore: gate limits test behind a feature flag
2024-03-06 14:37:38 -05:00
Michael Gattozzi 160ac34edd
fix: CircleCI image deprecations (#24725) 2024-03-04 11:59:22 -05:00
Michael Gattozzi 73e261c021
feat: Split out shared core crates from Edge (#24714)
This commit is a major refactor for the code base. It mainly does four
things:

1. Splits code shared between the internal IOx repository and this one
   into it's own repo over at https://github.com/influxdata/influxdb3_core
2. Removes any docs or anything else that did not relate to this project
3. Reorganizes the Cargo.toml files to use the top level Cargo.toml to
   declare dependencies and versions to keep all crates in sync and sets
   all others to use `<dep>.workspace = true` unless it's an optional
   dependency
4. Set the top level Cargo.toml to point to the core crates as git
   dependencies

With this any changes specific to Edge will be contained here, updating
deps will be a PR over in `influxdata/influxdb3_core`, and we can prove
out the viability for this model to use for IOx.
2024-02-29 16:21:41 -05:00
Brandon Pfeifer 3dcf2778d6
chore: remove unused CircleCI scripts (#24701) 2024-02-28 09:48:57 -05:00
Michael Gattozzi 8a68ae3f11
fix: Remove nightly CI build from Circle CI runs (#24637)
Prior to this change we've had CI fail nightly because we can't push the
image to CI due to permissions issues. The problem is that
influxdata/influxdb_iox is the one that actually has access to push that
data to quay.

This commit removes the nightly build and references to it as this image
is built nightly by the IOx team. If things break we have access to fix
it, but I don't think it'll be an issue.
2024-02-12 10:21:15 -05:00
Michael Gattozzi ff567cd33f
chore(deps): Update arrow and datafusion to 49.0.0 (#24605)
* chore(deps): Update arrow and datafusion to 49.0.0

This commit copies in our dependency code from influxdb_iox in order for
us to be able to upgrade from a forked version of 46.0.0 to 49.0.0 of
both arrow and datafusion. Most of the important changes were around how
we consumed the crates in influxdb3(_server/_write). Those diffs are
particularly worth looking at as the rest was a straight copy and we
don't touch those crates in our development currently for influxdb3
edge.

* fix: regenerate workspace hack crate

* fix: Protobuf issues with incompatibility labels

* fix: Broken CI yaml

* fix: buf version

* fix: Only check IOx repo

* fix: Remove protobuf lint

* fix: Comment out call to protobuf-lint
2024-01-31 19:18:51 -05:00
Michael Gattozzi 028a05fbde
fix: remove deploy step for images (#24566)
We currently don't need or want to deploy influxdb as we're still
building out the Edge product. Maybe later for a demo, but for now it
just breaks CI and so this removes it.
2024-01-10 13:51:19 -05:00
Michael Gattozzi 89d28ade42
fix: change circle-ci config from iox to influxdb3 (#24564)
This commit changes the circle-ci config to use influxdb3 rather than
iox in our ci config script as the repo is influxdb not influxdb_iox.
While we could probably strip out a lot more here as a first attempt to
get this to build release images and push them on main this will do just
fine.
2024-01-10 12:36:38 -05:00
Michael Gattozzi 8ee13bca48
fix: Failing CI on main (#24562)
* fix: build, upgrade rustc, and deps

This commit upgrades Rust to 1.75.0, the latest release. We also
upgraded our dependencies to stay up to date and to clear out any
uneeded deps from the lockfile. In order to make sure everything works
this also fixes the build by upgrading the workspace-hack crate using
cargo hikari and removing the `workspace.lint` that was in
influxdb3_write that didn't need to be there, probably from a merge
issue.

With this we can build influxdb3 as our default on main, but this alone
is not enough to fix CI and will be addressed in future commits.

* fix: warnings for influxdb3 build

This commit fixes the warnings emitted by `cargo build` when compiling
influxdb3. Mainly it adds needed lifetimes and removes uneccesary
imports and functions calls.

* fix: all of the clippy lints

This for the most part just applies suggested fixes by clippy with a few
exceptions:

- Generated type crates had additional allows added since we can't
  control what code gets made
- Things that couldn't be automatically fixed were done so manually in
  particular adding a Send bound for traits that created a Future that
  should be Send

We also had to fix a build issue by adding a feature for tokio-compat
due to the upgrade of deps. The workspace crate was updated accordingly.

* fix: failing test due to rust panic message change

Inbetween rustc 1.72 and rustc 1.75 the way that error messages were
displayed when panicing changed. One of our tests depended on the output
of that behavior and this commit updates the error message to the new
form so that tests will pass.

* fix: broken cargo doc link

* fix: cargo formatting run

* fix: add workspace-hack to influxdb3 crates

This was the last change needed to make sure that the workspace-hack
crate CI lint would pass.

* fix: remove tests that can not run anymore

We removed iox code from this code base and as a result some tests
cannot be run anymore and so this commit removes them from the code base
so that we can get a green build.
2024-01-09 15:11:35 -05:00
Paul Dix aa458ed166 Merge branch 'iox-repo' 2023-09-21 09:22:15 -04:00
Brandon Pfeifer b3b982d746
chore: update MacOS executor to M1 (#24372) 2023-09-20 14:30:21 -04:00
Marco Neumann 2156bc7e05
feat: static migrations checks (#8434)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-08-07 15:13:28 +00:00
Marco Neumann e822374270
chore: build annotated OCI images (#8301)
* refactor: isolate docker build to script

* chore: add labels to docker image

* chore: export image as OCI

* chore: print image digest

* fix: convert to OCI BEFORE calculating digest

* fix: use digest of uploaded image, not of the local archive

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-07-24 13:28:04 +00:00
Brandon Pfeifer 75a8bcfae2
chore: replace "package builder" shell implemention with python (#24306) 2023-06-30 10:45:03 -04:00
Marco Neumann d9ce92dad1
fix: do not override all rustflags in circleci (#8061)
As we've learned in #8048 and #8052, rustflags do NOT stack. Since we
only want to change one specific parameter (the debug feature), use the
env variable that cargo provides us.

**In contrast to the linked PRs, this only changes the test excution. Prod
builds remain untouched.**

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-06-27 14:35:04 +00:00
Marco Neumann 4d1c6f805c
refactor: clean up rustflags and build args (#8047)
- move `tokio_unstable` to cargo config, so all we can use it within
   our code (e.g. for #7982)
- disable incremental builds for prod docker builds. this was tried
  before but got lost at some point because build params weren't passed
  to docker correclty
- fix `CARGO_NET_GIT_FETCH_WITH_CLI` for docker builds (env wasn't
  passed through)
2023-06-22 09:58:46 +00:00
alespour cc62221501
chore: upgrade to Go 1.20.5 (#24299) 2023-06-20 09:32:44 -05:00
Marco Neumann b1cb0b7fc0
chore: bump `max_connections` for integration test PG (#8024)
It seems that sometimes our tests are fast enough to trigger the
connection limit, see

https://app.circleci.com/pipelines/github/influxdata/influxdb_iox/34517/workflows/abd68ab0-a0a4-47b4-8399-cbf61bd27ab9/jobs/322837

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-06-20 11:39:46 +00:00
Marco Neumann 8cd82728cd
fix: deploy_release after debian upgrade (#7988) 2023-06-14 09:16:15 +00:00
Brandon Pfeifer 3dabfcdd08
fix: correct CHANGELOG.md upload destination (#24287)
This updates the job logic so that workflow condition is evaluated
by CircleCI rather than the shell. This also uses the "aws-s3" orb
for uploading to S3 (rather than awscli).
2023-06-13 20:00:45 -04:00
Brandon Pfeifer b352a179a2
fix: update terraform with newer version (#24284)
The terraform shipped with snap (in the older version of Ubuntu)
only supported public key encryption with ssh-rsa. New versions
of Linux started deprecating ssh-rsa, so this version bump
is required.
2023-06-13 16:55:37 -04:00
Brandon Pfeifer 2f3733c2cb
chore: generate "influxdb2.${CIRCLE_TAG}.digests" for each release (#24276) 2023-06-13 11:37:58 -04:00
Marco Neumann fad11b524f
chore: fix JDK for integration tests (#7980)
Broken after the first nightly CI image was generated after #7972.

Move JDK installation to image generation and fix version.
2023-06-13 10:51:26 +00:00
Brandon Pfeifer ba7f1a7ab6
chore: upgrade changelogger to latest version (#24244)
This allows changelogs to be built from "non-release" tags. These
changelogs use "UNRELEASED" as the first section header. Commits
from these sections are eventually rolled into a proper "release"
tag (e.g v2.7.0).
2023-05-26 12:09:44 -04:00
Carol (Nichols || Goulding) e12329ac2b
fix: Remove temporary limiting of test threads 2023-05-08 20:24:35 -04:00
Andrew Lamb 23a74111c8
chore: Stop using cargo cache in CI (#7721)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-05-04 10:33:15 +00:00
Martin Hilton f87f4c1869
fix: racy JDBC tests (#7678)
* fix: racing JDBC tests

The JDBC tests have been flaky since adding additional tests. Use
the makefile to build the client to avoid the clients racing.

* chore: pre-download JDBC drive in integration test

* fix: remove stray lockfile
2023-04-27 09:07:06 +00:00
Andrew Lamb 3263934db1
chore: Run end to end integration tests as part of a separate circle CI Job (#7658)
* chore: Run end to end integration tests as part of a separate circle CI Job

* fix: but

* feat: update job name

* chore: Update resources

---------

Co-authored-by: Dom <dom@itsallbroken.com>
2023-04-26 15:22:13 +00:00
Carol (Nichols || Goulding) f561d599d2
fix: Remove uses of KAFKA_CONNECT, redpanda, and some talk of Kafka 2023-04-12 11:53:23 -04:00
Brandon Pfeifer 49c7a7407a
feat: implement remote package signing (#24194) 2023-04-12 11:41:41 -04:00
Brandon Pfeifer 1bb310e606
fix: use Amazon EC2 Image instead of CentOS EC2 Image (#24181) 2023-04-05 17:41:58 -04:00