Commit Graph

507 Commits (chore/beta-build)

Author SHA1 Message Date
Jamie Strandboge 8bb09e4b82
chore(ci): update to handle release tags (#26166)
* chore(ci): use most recent ci-support images

* fix: update release_filter (thanks Praveen) and pkg version for release
2025-03-19 10:46:44 -05:00
Jamie Strandboge 51123f2da0
fix: don't use modified .cargo/config.toml (#26148)
We need to both add and remove keys from rustflags, but modifying
.cargo/config.toml in place causes the version string to have -dirty
appended to it. Use ci-support that instead creates ./.cargo/config (a
historic filename that is preferred over ./.cargo/config.toml if it
exists) and then git ignore ./.cargo/config.

References:
- https://github.com/influxdata/influxdb/issues/26147
- https://doc.rust-lang.org/cargo/reference/config.html?highlight=rustflags#hierarchical-structure
2025-03-16 14:19:59 -05:00
Trevor Hilton f94c21025d
chore: re-enable release on merge to main (#26144) 2025-03-15 08:55:41 -04:00
Jamie Strandboge ba7e6c6986
feat(python): update to python-build-standalone 3.13.2 (#26125)
* feat(python): update to python-build-standalone 3.13.2

References:
- https://github.com/influxdata/influxdb/issues/26044

* fix: update fetch-python-standalone.bash to properly set 'executable'

* fix: use PYO3_CONFIG_FILE to find PYTHONHOME.

* fix: add comment about PYO3_CONFIG_FILE.

* fix: remove ensure_pyo3().

* fix: add some sleep so catalog is updated.

---------

Co-authored-by: Jackson Newhouse <jnewhouse@influxdata.com>
2025-03-14 14:44:05 -05:00
Jamie Strandboge be2dc6ac35
fix(ci): update windows tarball to put dlls next to influxdb3.exe (#26137)
References:
- https://github.com/influxdata/influxdb/issues/26113
2025-03-13 21:35:58 -05:00
Jamie Strandboge 941e0e0f15
fix: updates for package validation with portable glibc builds (#26131)
* fix(circleci): add librt.so to list of acceptable libraries

* feat(circleci): check for glibc portability

* fix(circleci): remove rpm --nodeps workaround in rpm validate

Now that we have glibc portability in rpm builds, we no longer need the
'rpm --nodeps' workaround and can go back to 'yum localinstall'.

Closes #26011

* chore: update README_processing_engine.md for glibc portability
2025-03-13 12:25:31 -05:00
Jamie Strandboge 0983ecb542
feat(circleci): use portable glibc ci-cross-influxdb3 (#26124)
* feat(circleci): use portable glibc ci-cross-influxdb3

* chore: update build-dev job to conditionally persist debug builds
2025-03-12 11:10:08 -05:00
Trevor Hilton 586204d3cc
chore: disable release on merge to main for beta (#26115) 2025-03-10 17:14:45 -04:00
Jackson Newhouse 5fa417c3f0
feat: remove system-py (#26087)
* feat: remove system-py

* chore: allow Apache-2.0 WITH LLVM-exception license.
2025-03-10 11:10:33 -07:00
praveen-influx e46d3b8881
chore: rust ci job fix to address rustup 1.28.0 changes (#26099)
- activate toolchain explicitly
- add clippy and rustfmt components
2025-03-04 11:44:58 +00:00
Jamie Strandboge a82c13c260
chore: update to python 3.11.11+20250212 for libssl (#26049)
References:
- https://github.com/astral-sh/python-build-standalone/releases/tag/20250212
- https://github.com/astral-sh/python-build-standalone/commits/20250212/
2025-02-27 10:21:05 -06:00
Jamie Strandboge 7192aae536
fix: download aarch64 python with docker/arm64 (#26021)
https://github.com/influxdata/influxdb/issues/26020
2025-02-13 16:55:29 -06:00
Jamie Strandboge ccd5d22aab
feat: build and use python-build-standalone with official builds (#25969)
* feat(ci): fetch and configure for python-build-standalone binaries

* fix: make the process engine usable on windows

* feat(ci): build with python-build-standalone (and drop musl)

* fix(ci): set rpath on Linux and libpath on OSX in ci

* fix: set PYTHONHOME everywhere and PYTHONPATH on Windows

* chore(ci): update to use more recent ci-packager-next

* fix(ci): adjust validate to allow certain dynamically linked libraries

* chore: remove install_influxdb.sh (using install_influxdb3.sh instead)

* chore(install_influxdb3.sh): update for processing engine and release builds

* fix: temporarily use rpm --nodeps until compile with old GLIBC

* feat(ci): build docker with python-build-standalone

* chore: add README_processing_engine.md

* chore: add a few more details to README_processing_engine.md

* fix(ci): use patchelf --set-rpath

Not all patchelf versions support --add-rpath for appending to the
RPATH, but --set-path can be used with a colon-separated list. Use
--set-rpath first for maximum compatibility.

* chore: update README_processing_engine.md for standalone local builds

* fix(Dockerfile): also use patchelf --set-rpath

* chore: update code comment for accuracy

* chore: typos, grammar and formatting change in README_processing_engine.md

* chore: update README_processing_engine.md for Docker arm64 (thanks Jackson)
2025-02-13 16:16:05 -06:00
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