Skip to content
Merged
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
20 changes: 0 additions & 20 deletions .github/workflows/client-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,6 @@ jobs:
path: /tmp
- name: Load server image
run: docker load -i /tmp/fluss-dev.tar
- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down Expand Up @@ -205,10 +201,6 @@ jobs:
python-version: ${{ matrix.python }}
- name: Install uv
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39
- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down Expand Up @@ -260,10 +252,6 @@ jobs:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39
- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down Expand Up @@ -300,10 +288,6 @@ jobs:
path: /tmp
- name: Load server image
run: docker load -i /tmp/fluss-dev.tar
- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Apache Arrow C++
run: |
sudo apt-get install -y -V ca-certificates lsb-release wget
Expand Down Expand Up @@ -366,10 +350,6 @@ jobs:
with:
otp-version: ${{ env.OTP_VERSION }}
elixir-version: ${{ env.ELIXIR_VERSION }}
- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down
14 changes: 0 additions & 14 deletions .github/workflows/gateway-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install protobuf compiler
run: brew install protobuf
if: runner.os == 'macOS'

- name: Install protobuf compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
if: runner.os == 'Linux'

- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down Expand Up @@ -105,9 +97,6 @@ jobs:
- name: Install the MSRV toolchain
run: rustup toolchain install 1.88.0 --profile minimal

- name: Install protobuf compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand All @@ -132,9 +121,6 @@ jobs:
with:
tool: cargo-deny@0.14.22

- name: Install protobuf compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

- name: Check dependency licenses (Apache-compatible)
run: cargo deny --locked check licenses

Expand Down
39 changes: 0 additions & 39 deletions .github/workflows/python-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

# Vendor the canonical proto so the sdist builds standalone from source.
- name: Vendor canonical proto into the crate
working-directory: fluss-rust
run: scripts/vendor-proto.sh

- uses: PyO3/maturin-action@v1
with:
working-directory: fluss-rust/bindings/python
Expand All @@ -82,65 +74,34 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install protoc (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

- name: Install protoc (macOS)
if: runner.os == 'macOS'
run: brew install protobuf

- name: Install protoc (Windows)
if: runner.os == 'Windows'
run: choco install protoc -y
shell: pwsh

# Install protoc in manylinux container (x86_64/aarch64); script shared via YAML anchor
- uses: PyO3/maturin-action@v1
with:
working-directory: fluss-rust/bindings/python
target: ${{ matrix.target }}
command: build
args: --release -o dist -i python3.9
manylinux: ${{ matrix.manylinux || 'auto' }}
before-script-linux: &protoc-install |
set -e
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ZIP=protoc-27.1-linux-x86_64.zip ;;
aarch64) ZIP=protoc-27.1-linux-aarch_64.zip ;;
*) echo "Unsupported arch $ARCH"; exit 1 ;;
esac
curl -sLO "https://github.com/protocolbuffers/protobuf/releases/download/v27.1/${ZIP}"
python3 -c "import zipfile; zipfile.ZipFile('${ZIP}').extractall('/tmp/protoc_install')"
chmod +x /tmp/protoc_install/bin/protoc
rm -f "${ZIP}"
export PATH="/tmp/protoc_install/bin:$PATH"
export PROTOC=/tmp/protoc_install/bin/protoc
- uses: PyO3/maturin-action@v1
with:
working-directory: fluss-rust/bindings/python
target: ${{ matrix.target }}
command: build
args: --release -o dist -i python3.10
manylinux: ${{ matrix.manylinux || 'auto' }}
before-script-linux: *protoc-install
- uses: PyO3/maturin-action@v1
with:
working-directory: fluss-rust/bindings/python
target: ${{ matrix.target }}
command: build
args: --release -o dist -i python3.11
manylinux: ${{ matrix.manylinux || 'auto' }}
before-script-linux: *protoc-install
- uses: PyO3/maturin-action@v1
with:
working-directory: fluss-rust/bindings/python
target: ${{ matrix.target }}
command: build
args: --release -o dist -i python3.12
manylinux: ${{ matrix.manylinux || 'auto' }}
before-script-linux: *protoc-install

- name: Upload wheels
uses: actions/upload-artifact@v7
Expand Down
43 changes: 38 additions & 5 deletions .github/workflows/rust-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand All @@ -80,3 +75,41 @@ jobs:
env:
RUST_LOG: DEBUG
RUST_BACKTRACE: full

proto-up-to-date:
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
Comment thread
seokjin0414 marked this conversation as resolved.
with:
# Pinned: this job compares regenerated output byte-for-byte.
version: "27.1"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: fluss-rust

- name: Regenerate protobuf code
run: ./crates/fluss/regen.sh

- name: Verify the checked-in code is up to date
id: verify
run: |
git diff --exit-code || {
echo "::error::Checked-in protobuf code is out of date with fluss-rpc/src/main/proto/FlussApi.proto. Run fluss-rust/crates/fluss/regen.sh and commit the result, or commit the files from this job's regenerated-proto artifact."
exit 1
}

- name: Upload regenerated files
if: failure() && steps.verify.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: regenerated-proto
path: |
fluss-rust/crates/fluss/src/proto/fluss.rs
fluss-rust/crates/fluss/proto/FlussApi.proto
5 changes: 0 additions & 5 deletions .github/workflows/rust-license-and-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,6 @@ jobs:
- name: Check dependency licenses (Apache-compatible)
run: cargo deny check licenses

- name: Install protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Rust Cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
Expand Down
12 changes: 2 additions & 10 deletions .github/workflows/rust-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,11 @@ jobs:

- uses: ./.github/actions/verify-tag-version

- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

# build.rs reads the canonical proto from the in-repo fluss-rpc, which is
# outside the published crate; vendor it so the crate publishes standalone.
- name: Vendor canonical proto into the crate
run: scripts/vendor-proto.sh

- name: Dry run (crates/fluss)
run: cargo publish -p fluss-rs --dry-run --allow-dirty
run: cargo publish -p fluss-rs --dry-run --locked

- name: Publish fluss-rs to crates.io
if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-')
run: cargo publish -p fluss-rs --allow-dirty
run: cargo publish -p fluss-rs --locked
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
Loading
Loading