diff --git a/.github/workflows/release_rust.yml b/.github/workflows/release_rust.yml
new file mode 100644
index 0000000..04d4e33
--- /dev/null
+++ b/.github/workflows/release_rust.yml
@@ -0,0 +1,48 @@
+#
+# 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: Release Rust Packages
+
+on:
+  push:
+    tags:
+      - "*"
+  pull_request:
+    branches:
+      - master
+    paths:
+      - ".github/workflows/release_rust.yml"
+  workflow_dispatch:
+
+jobs:
+  publish:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - name: Dryrun
+        working-directory: lib/rs
+        run: cargo publish --dry-run
+
+      - name: Publish
+        working-directory: lib/rs
+        # Only publish if it's a tag and the tag is not a pre-release
+        if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') }}
+        run: cargo publish
+        env:
+          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
