This is an automated email from the ASF dual-hosted git repository.
zuston pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-uniffle.git
The following commit(s) were added to refs/heads/master by this push:
new 7cd9b6dd4 [#1206][part-1] feat(rust): create folder for rust-based
shuffle server (#1207)
7cd9b6dd4 is described below
commit 7cd9b6dd4f478e5a0ad968aba74eeb4f4fee6a8b
Author: Junfan Zhang <[email protected]>
AuthorDate: Sat Sep 23 21:10:13 2023 +0800
[#1206][part-1] feat(rust): create folder for rust-based shuffle server
(#1207)
### What changes were proposed in this pull request?
create basic folder for rust-based shuffle server for uniffle
### Why are the changes needed?
For #1206
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Needn't
---
.github/workflows/rust.yml | 43 ++++++++++++++++++++++++++++++++++++
.gitignore | 2 ++
rust/experimental/server/Cargo.toml | 25 +++++++++++++++++++++
rust/experimental/server/src/main.rs | 20 +++++++++++++++++
4 files changed, 90 insertions(+)
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
new file mode 100644
index 000000000..5c074f91c
--- /dev/null
+++ b/.github/workflows/rust.yml
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: Rust
+
+on: [push, pull_request]
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Set up JDK 8
+ uses: actions/setup-java@v3
+ with:
+ java-version: 8
+ distribution: 'temurin'
+ - uses: actions/checkout@v3
+ - name: Build
+ working-directory: ./rust/experimental/server
+ run: cargo build --verbose
+ - name: Code style check
+ working-directory: ./rust/experimental/server
+ run: cargo fmt --check
+ - name: Run tests
+ working-directory: ./rust/experimental/server
+ run: cargo test --verbose
diff --git a/.gitignore b/.gitignore
index b6901d7ce..4ecbc8637 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,5 @@ build/
deploy/kubernetes/integration-test/e2e/rss.yaml
deploy/kubernetes/integration-test/e2e/rss-controller.yaml
deploy/kubernetes/integration-test/e2e/rss-webhook.yaml
+rust/experimental/server/target
+rust/experimental/server/.idea
diff --git a/rust/experimental/server/Cargo.toml
b/rust/experimental/server/Cargo.toml
new file mode 100644
index 000000000..89949b022
--- /dev/null
+++ b/rust/experimental/server/Cargo.toml
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[package]
+name = "uniffle-worker"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at
https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
diff --git a/rust/experimental/server/src/main.rs
b/rust/experimental/server/src/main.rs
new file mode 100644
index 000000000..49b5eeffb
--- /dev/null
+++ b/rust/experimental/server/src/main.rs
@@ -0,0 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+fn main() {
+ println!("Hello, world!");
+}