Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 22 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
push:
branches:
- main
- 'target-patch-*'

env:
CARGO_TERM_COLOR: always
Expand Down Expand Up @@ -41,6 +42,17 @@ jobs:
- uses: ./.github/actions/setup
- run: cargo test --features integration

# Runs the whole lib unit suite with `grpc` off, the proof that the abstraction builds and runs
# without gRPC. `lfs: true` because some planner unit tests load parquet testdata.
unit-test-no-grpc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: ./.github/actions/setup
- run: cargo test --no-default-features --lib

tpch-correctness-test:
runs-on: ubuntu-latest
strategy:
Expand All @@ -50,7 +62,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: cargo test --features tpch --test tpch_correctness_test
- run: cargo test -p datafusion-distributed-benchmarks --features tpch --test tpch_correctness_test
env:
ADAPTIVE: ${{ matrix.planning_mode == 'adaptive' }}

Expand All @@ -59,7 +71,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: cargo test --features tpch --test tpch_plans_test
- run: cargo test -p datafusion-distributed-benchmarks --features tpch --test tpch_plans_test

tpcds-correctness-test:
runs-on: ubuntu-latest
Expand All @@ -73,9 +85,9 @@ jobs:
- uses: ./.github/actions/setup
- uses: actions/cache@v4
with:
path: testdata/tpcds/main.zip
path: benchmarks/testdata/tpcds/main.zip
key: "main.zip"
- run: cargo test --features tpcds --test tpcds_correctness_test shard${{ matrix.shard }}
- run: cargo test -p datafusion-distributed-benchmarks --features tpcds --test tpcds_correctness_test shard${{ matrix.shard }}
env:
ADAPTIVE: ${{ matrix.planning_mode == 'adaptive' }}

Expand All @@ -86,9 +98,9 @@ jobs:
- uses: ./.github/actions/setup
- uses: actions/cache@v4
with:
path: testdata/tpcds/main.zip
path: benchmarks/testdata/tpcds/main.zip
key: "main.zip"
- run: cargo test --features tpcds --test tpcds_plans_test
- run: cargo test -p datafusion-distributed-benchmarks --features tpcds --test tpcds_plans_test

clickbench-correctness-test:
runs-on: ubuntu-latest
Expand All @@ -101,9 +113,9 @@ jobs:
- uses: ./.github/actions/setup
- uses: actions/cache@v4
with:
path: testdata/clickbench/
path: benchmarks/testdata/clickbench/
key: "data"
- run: cargo test --features clickbench --test clickbench_correctness_test
- run: cargo test -p datafusion-distributed-benchmarks --features clickbench --test clickbench_correctness_test
env:
ADAPTIVE: ${{ matrix.planning_mode == 'adaptive' }}

Expand All @@ -114,9 +126,9 @@ jobs:
- uses: ./.github/actions/setup
- uses: actions/cache@v4
with:
path: testdata/clickbench/
path: benchmarks/testdata/clickbench/
key: "data"
- run: cargo test --features clickbench --test clickbench_plans_test
- run: cargo test -p datafusion-distributed-benchmarks --features clickbench --test clickbench_plans_test

format-check:
runs-on: ubuntu-latest
Expand Down
55 changes: 0 additions & 55 deletions .github/workflows/docs.yml

This file was deleted.

44 changes: 44 additions & 0 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Cut Snapshot Tag

on:
workflow_dispatch:

jobs:
snapshot:
name: Create Snapshot Tag
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Generate GitHub App Token
id: app-token
uses: actions/create-github-app-token@v3
with:
client-id: ${{ vars.PARADEDB_GITHUB_APP_CLIENT_ID }}
private-key: ${{ secrets.PARADEDB_GITHUB_APP_PRIVATE_KEY }}

- name: Checkout Repository
uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
persist-credentials: false

- name: Configure Git
env:
APP_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
git config --global user.name "paradedb-github-app[bot]"
git config --global user.email "282009505+paradedb-github-app[bot]@users.noreply.github.com"
git remote set-url origin "https://x-access-token:${APP_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"

- name: Create and Push Tag
run: |
set -euo pipefail
TAG_NAME="snapshot-${{ github.ref_name }}-$(date -u +%Y-%m-%d-%H%M%S)"
echo "Creating tag: $TAG_NAME"

git tag "$TAG_NAME"
git push origin "$TAG_NAME"

echo "✅ Successfully created and pushed tag $TAG_NAME"
35 changes: 35 additions & 0 deletions .github/workflows/sync-promote-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# workflows/sync-promote-branch.yml
#
# Promote Target Patch Branch to Main
# Promote a resolved target-patch-* branch to main after manual approval and CI validation.

name: Promote Target Patch Branch to Main

on:
workflow_dispatch:
inputs:
branch_name:
description: "Branch name to promote (must match target-patch-*)"
required: true
type: string

concurrency:
group: promote-branch
cancel-in-progress: false

permissions:
actions: write
contents: write
issues: write
pull-requests: read

jobs:
call-promote:
uses: paradedb/actions/.github/workflows/upstream-sync-promote.yml@v10
with:
branch_name: ${{ inputs.branch_name }}
approvers: datafusion-maintainers
github_app_client_id: ${{ vars.PARADEDB_GITHUB_APP_CLIENT_ID }}
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_GITHUB_CHANNEL_WEBHOOK_URL }}
PARADEDB_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PARADEDB_GITHUB_APP_PRIVATE_KEY }}
34 changes: 34 additions & 0 deletions .github/workflows/sync-upstream-rebase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# workflows/sync-upstream-rebase.yml
#
# Upstream Rebase
# Periodically rebase the target patches onto the latest upstream commits and promote the result to main.

name: Upstream Rebase

on:
schedule:
- cron: "0 14,16,18,20,22 * * 1-5" # Mon-Fri 6am-2pm PST (UTC weekdays)
- cron: "0 0,2 * * 2-6" # Mon-Fri 4pm-6pm PST (next UTC day)
workflow_dispatch: # Allow manual triggering

concurrency:
group: upstream-rebase
cancel-in-progress: false

permissions:
actions: write
checks: read
contents: write
issues: write
pull-requests: read

jobs:
call-rebase:
uses: paradedb/actions/.github/workflows/upstream-sync-rebase.yml@v10
with:
github_app_client_id: ${{ vars.PARADEDB_GITHUB_APP_CLIENT_ID }}
approvers: datafusion-maintainers
slack_alert_mention: "<!subteam^S0BLH15TWRK|@datafusion-maintainers>"
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_GITHUB_CHANNEL_WEBHOOK_URL }}
PARADEDB_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PARADEDB_GITHUB_APP_PRIVATE_KEY }}
27 changes: 26 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading