diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index d1e077a5..1f7cfdef 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -88,7 +88,7 @@ jobs: npm install -g @napi-rs/cli - name: Build run: | - npm ci + npm ci --include=optional npm run build:debug -- --profile ci npm run tsc - name: Setup localstack @@ -146,7 +146,7 @@ jobs: npm install -g @napi-rs/cli - name: Build run: | - npm ci + npm ci --include=optional npm run build:debug -- --profile ci npm run tsc - name: Test diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d10fc303..2b4c650b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -49,8 +49,8 @@ jobs: type-check: name: "Type Check" - timeout-minutes: 30 - runs-on: "ubuntu-22.04" + timeout-minutes: 60 + runs-on: ubuntu-2404-8x-x64 defaults: run: shell: bash @@ -78,7 +78,7 @@ jobs: doctest: name: "Doctest" - timeout-minutes: 30 + timeout-minutes: 60 runs-on: ubuntu-2404-8x-x64 defaults: run: diff --git a/Cargo.lock b/Cargo.lock index 576d2692..932ec0f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3086,8 +3086,8 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "fsst" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-array", "rand 0.9.2", @@ -4422,8 +4422,8 @@ dependencies = [ [[package]] name = "lance" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-arith", @@ -4488,8 +4488,8 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-array", "arrow-buffer", @@ -4507,8 +4507,8 @@ dependencies = [ [[package]] name = "lance-bitpacking" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrayref", "paste", @@ -4517,8 +4517,8 @@ dependencies = [ [[package]] name = "lance-core" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-array", "arrow-buffer", @@ -4554,8 +4554,8 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-array", @@ -4585,8 +4585,8 @@ dependencies = [ [[package]] name = "lance-datagen" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-array", @@ -4603,8 +4603,8 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-arith", "arrow-array", @@ -4641,8 +4641,8 @@ dependencies = [ [[package]] name = "lance-file" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-arith", "arrow-array", @@ -4674,8 +4674,8 @@ dependencies = [ [[package]] name = "lance-geo" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "datafusion", "geo-types", @@ -4686,8 +4686,8 @@ dependencies = [ [[package]] name = "lance-index" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-arith", @@ -4748,8 +4748,8 @@ dependencies = [ [[package]] name = "lance-io" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-arith", @@ -4789,8 +4789,8 @@ dependencies = [ [[package]] name = "lance-linalg" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-array", "arrow-buffer", @@ -4806,8 +4806,8 @@ dependencies = [ [[package]] name = "lance-namespace" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "async-trait", @@ -4819,8 +4819,8 @@ dependencies = [ [[package]] name = "lance-namespace-impls" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-ipc", @@ -4858,8 +4858,8 @@ dependencies = [ [[package]] name = "lance-table" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow", "arrow-array", @@ -4898,8 +4898,8 @@ dependencies = [ [[package]] name = "lance-testing" -version = "1.1.0-beta.1" -source = "git+https://github.com/lance-format/lance.git?tag=v1.1.0-beta.1#ddea38f049e64df8b893e1c8ecca7878ea373d1e" +version = "1.0.0" +source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3" dependencies = [ "arrow-array", "arrow-schema", diff --git a/Cargo.toml b/Cargo.toml index b3778574..e2dc032b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,20 +15,20 @@ categories = ["database-implementations"] rust-version = "1.78.0" [workspace.dependencies] -lance = { "version" = "=1.1.0-beta.1", default-features = false, "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-core = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-datagen = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-file = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-io = { "version" = "=1.1.0-beta.1", default-features = false, "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-index = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-linalg = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace-impls = { "version" = "=1.1.0-beta.1", default-features = false, "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-table = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-testing = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-datafusion = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-encoding = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } -lance-arrow = { "version" = "=1.1.0-beta.1", "tag" = "v1.1.0-beta.1", "git" = "https://github.com/lance-format/lance.git" } +lance = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-core = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-datagen = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-file = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-io = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-index = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-linalg = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-namespace = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-namespace-impls = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-table = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-testing = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-datafusion = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-encoding = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } +lance-arrow = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" } ahash = "0.8" # Note that this one does not include pyarrow arrow = { version = "56.2", optional = false } diff --git a/ci/set_lance_version.py b/ci/set_lance_version.py index e1ce1a1d..e8c573ad 100644 --- a/ci/set_lance_version.py +++ b/ci/set_lance_version.py @@ -229,6 +229,29 @@ def set_local_version(): update_cargo_toml(line_updater) +def update_lockfiles(version: str, fallback_to_git: bool = False): + """ + Update Cargo metadata and optionally fall back to using the git tag if the + requested crates.io version is unavailable. + """ + try: + print("Updating lockfiles...", file=sys.stderr, end="") + run_command("cargo metadata > /dev/null") + print(" done.", file=sys.stderr) + except Exception as e: + if fallback_to_git and "failed to select a version" in str(e): + print( + f" failed for crates.io v{version}, retrying with git tag...", + file=sys.stderr, + ) + set_preview_version(version) + print("Updating lockfiles...", file=sys.stderr, end="") + run_command("cargo metadata > /dev/null") + print(" done.", file=sys.stderr) + else: + raise + + parser = argparse.ArgumentParser(description="Set the version of the Lance package.") parser.add_argument( "version", @@ -244,6 +267,7 @@ if args.version == "stable": file=sys.stderr, ) set_stable_version(latest_stable_version) + update_lockfiles(latest_stable_version) elif args.version == "preview": latest_preview_version = get_latest_preview_version() print( @@ -251,8 +275,10 @@ elif args.version == "preview": file=sys.stderr, ) set_preview_version(latest_preview_version) + update_lockfiles(latest_preview_version) elif args.version == "local": set_local_version() + update_lockfiles("local") else: # Parse the version number. version = args.version @@ -262,9 +288,7 @@ else: if "beta" in version: set_preview_version(version) + update_lockfiles(version) else: set_stable_version(version) - -print("Updating lockfiles...", file=sys.stderr, end="") -run_command("cargo metadata > /dev/null") -print(" done.", file=sys.stderr) + update_lockfiles(version, fallback_to_git=True)