Skip to content

Commit cb06bde

Browse files
committed
Improve
2 parents 09a869a + 6f741ed commit cb06bde

33 files changed

+916
-221
lines changed

.github/workflows/audit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414

1515
jobs:
1616
security_audit:
17-
runs-on: blacksmith-2vcpu-ubuntu-2404
17+
runs-on: blacksmith-4vcpu-ubuntu-2404
1818
steps:
1919
- name: Checkout
2020
uses: actions/checkout@v4

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ concurrency:
2020
jobs:
2121
check:
2222
name: Lint
23-
runs-on: blacksmith-2vcpu-ubuntu-2404
23+
runs-on: blacksmith-4vcpu-ubuntu-2404
2424
strategy:
2525
matrix:
2626
check: [fmt, clippy, sort]
@@ -56,7 +56,7 @@ jobs:
5656

5757
test-partial:
5858
name: Tests (Partial)
59-
runs-on: blacksmith-2vcpu-ubuntu-2404
59+
runs-on: blacksmith-4vcpu-ubuntu-2404
6060
# Run on forks.
6161
if: github.event.pull_request.head.repo.fork == true
6262
permissions:
@@ -114,7 +114,7 @@ jobs:
114114
115115
test-full:
116116
name: Tests (Full)
117-
runs-on: blacksmith-2vcpu-ubuntu-2404
117+
runs-on: blacksmith-4vcpu-ubuntu-2404
118118
# Run on non-forks.
119119
if: github.event.pull_request.head.repo.fork == false
120120
permissions:

.github/workflows/docker-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ jobs:
4949
matrix:
5050
include:
5151
- platform: linux/amd64
52-
runner: blacksmith-2vcpu-ubuntu-2404
52+
runner: blacksmith-4vcpu-ubuntu-2404
5353
arch: amd64
5454
- platform: linux/arm64
55-
runner: blacksmith-2vcpu-ubuntu-2404-arm
55+
runner: blacksmith-4vcpu-ubuntu-2404-arm
5656
arch: arm64
5757
outputs:
5858
digest-amd64: ${{ steps.export-digest.outputs.digest-amd64 }}
@@ -119,7 +119,7 @@ jobs:
119119
create-manifest:
120120
name: Create Multi-Arch Manifest
121121
needs: build-platform
122-
runs-on: blacksmith-2vcpu-ubuntu-2404
122+
runs-on: blacksmith-4vcpu-ubuntu-2404
123123
if: inputs.push == true
124124
steps:
125125
- name: Extract Image Name

.github/workflows/docker-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ permissions:
2222
jobs:
2323
resolve-ref:
2424
name: Resolve Checkout Ref
25-
runs-on: blacksmith-2vcpu-ubuntu-2404
25+
runs-on: blacksmith-4vcpu-ubuntu-2404
2626
outputs:
2727
ref: ${{ steps.pick.outputs.ref }}
2828
steps:
@@ -49,7 +49,7 @@ jobs:
4949
validate-experimental:
5050
name: Validate Experimental Build
5151
needs: resolve-ref
52-
runs-on: blacksmith-2vcpu-ubuntu-2404
52+
runs-on: blacksmith-4vcpu-ubuntu-2404
5353
if: github.event_name == 'workflow_dispatch' && inputs.experimental == true
5454
steps:
5555
- name: Checkout

.github/workflows/docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ permissions:
1515

1616
jobs:
1717
deploy:
18-
runs-on: blacksmith-2vcpu-ubuntu-2404
18+
runs-on: blacksmith-4vcpu-ubuntu-2404
1919
if: github.event_name == 'push'
2020
steps:
2121
- name: Checkout
@@ -43,7 +43,7 @@ jobs:
4343
run: mkdocs gh-deploy --force
4444

4545
build:
46-
runs-on: blacksmith-2vcpu-ubuntu-2404
46+
runs-on: blacksmith-4vcpu-ubuntu-2404
4747
if: github.event_name == 'pull_request'
4848
steps:
4949
- name: Checkout

.github/workflows/prepare-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ permissions:
2828
jobs:
2929
prepare-release:
3030
name: Prepare Release
31-
runs-on: blacksmith-2vcpu-ubuntu-2404
31+
runs-on: blacksmith-4vcpu-ubuntu-2404
3232
env:
3333
CARGO_TERM_COLOR: always
3434
steps:

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ permissions:
2222
jobs:
2323
version:
2424
name: Determine Version
25-
runs-on: blacksmith-2vcpu-ubuntu-2404
25+
runs-on: blacksmith-4vcpu-ubuntu-2404
2626
# Gate: manual dispatch OR merged PRs labeled 'release'.
2727
if: |
2828
github.event_name == 'workflow_dispatch' || (
@@ -69,7 +69,7 @@ jobs:
6969
name: Create Tag
7070
needs: version
7171
if: needs.version.outputs.is_pr_merge == 'true' || github.event_name == 'workflow_dispatch'
72-
runs-on: blacksmith-2vcpu-ubuntu-2404
72+
runs-on: blacksmith-4vcpu-ubuntu-2404
7373
permissions:
7474
contents: write
7575
steps:
@@ -119,7 +119,7 @@ jobs:
119119
github-release:
120120
name: Create GitHub Release
121121
needs: [version, create-tag, build-and-push]
122-
runs-on: blacksmith-2vcpu-ubuntu-2404
122+
runs-on: blacksmith-4vcpu-ubuntu-2404
123123
steps:
124124
- name: Generate Release Notes
125125
id: notes

Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ serde_json = { version = "1.0.141", default-features = false }
7171
serde_yaml = { version = "0.9.34", default-features = false }
7272
sqlx = { version = "0.8.6", default-features = false }
7373
tempfile = { version = "3.23.0", default-features = false }
74-
thiserror = "2.0.12"
74+
thiserror = "2.0.12"
75+
tikv-jemalloc-ctl = { version = "0.6.0", default-features = false, features = ["stats"] }
76+
tikv-jemallocator = { version = "0.6.1", default-features = false, features = ["background_threads_runtime_support", "unprefixed_malloc_on_supported_platforms"] }
7577
tokio = { version = "1.47.0", default-features = false }
7678
tokio-postgres = { git = "https://github.com/iambriccardo/rust-postgres", default-features = false, rev = "31acf55c7e5c2244e5bb3a36e7afa2a01bf52c38" }
7779
tokio-rustls = { version = "0.26.2", default-features = false }

etl-api/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ RUN apt-get update && \
2020
pkg-config \
2121
libssl-dev \
2222
clang \
23-
lld && \
23+
lld \
24+
make && \
2425
rm -rf /var/lib/apt/lists/*
2526

2627
# Copy cargo config for build optimizations (lld linker, etc.)

etl-api/src/configs/destination.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ pub enum FullApiDestinationConfig {
1818
Memory,
1919
BigQuery {
2020
#[schema(example = "my-gcp-project")]
21+
#[serde(deserialize_with = "crate::utils::trim_string")]
2122
project_id: String,
2223
#[schema(example = "my_dataset")]
24+
#[serde(deserialize_with = "crate::utils::trim_string")]
2325
dataset_id: String,
2426
#[schema(example = "{\"type\": \"service_account\", \"project_id\": \"my-project\"}")]
2527
service_account_key: SerializableSecretString,
@@ -462,11 +464,17 @@ pub enum StoredIcebergConfig {
462464
pub enum FullApiIcebergConfig {
463465
Supabase {
464466
#[schema(example = "abcdefghijklmnopqrst")]
467+
#[serde(deserialize_with = "crate::utils::trim_string")]
465468
project_ref: String,
466469
#[schema(example = "my-warehouse")]
470+
#[serde(deserialize_with = "crate::utils::trim_string")]
467471
warehouse_name: String,
468472
#[schema(example = "my-namespace")]
469-
#[serde(skip_serializing_if = "Option::is_none")]
473+
#[serde(
474+
default,
475+
skip_serializing_if = "Option::is_none",
476+
deserialize_with = "crate::utils::trim_option_string"
477+
)]
470478
namespace: Option<String>,
471479
#[schema(
472480
example = "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6IjFkNzFjMGEyNmIxMDFjODQ5ZTkxZmQ1NjdjYjA5NTJmIn0.eyJleHAiOjIwNzA3MTcxNjAsImlhdCI6MTc1NjE0NTE1MCwiaXNzIjoic3VwYWJhc2UiLCJyZWYiOiJhYmNkZWZnaGlqbGttbm9wcXJzdCIsInJvbGUiOiJzZXJ2aWNlX3JvbGUifQ.YdTWkkIvwjSkXot3NC07xyjPjGWQMNzLq5EPzumzrdLzuHrj-zuzI-nlyQtQ5V7gZauysm-wGwmpztRXfPc3AQ"
@@ -477,20 +485,25 @@ pub enum FullApiIcebergConfig {
477485
#[schema(example = "ca833e890916d848c69135924bcd75e5909184814a0ebc6c988937ee094120d4")]
478486
s3_secret_access_key: SerializableSecretString,
479487
#[schema(example = "ap-southeast-1")]
488+
#[serde(deserialize_with = "crate::utils::trim_string")]
480489
s3_region: String,
481490
},
482491
Rest {
483492
#[schema(example = "https://abcdefghijklmnopqrst.storage.supabase.com/storage/v1/iceberg")]
493+
#[serde(deserialize_with = "crate::utils::trim_string")]
484494
catalog_uri: String,
485495
#[schema(example = "my-warehouse")]
496+
#[serde(deserialize_with = "crate::utils::trim_string")]
486497
warehouse_name: String,
487498
#[schema(example = "my-namespace")]
499+
#[serde(default, deserialize_with = "crate::utils::trim_option_string")]
488500
namespace: Option<String>,
489501
#[schema(example = "9156667efc2c70d89af6588da86d2924")]
490502
s3_access_key_id: SerializableSecretString,
491503
#[schema(example = "ca833e890916d848c69135924bcd75e5909184814a0ebc6c988937ee094120d4")]
492504
s3_secret_access_key: SerializableSecretString,
493505
#[schema(example = "https://s3.endpoint")]
506+
#[serde(deserialize_with = "crate::utils::trim_string")]
494507
s3_endpoint: String,
495508
},
496509
}

0 commit comments

Comments
 (0)