This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 6445ed7f5 ci: remove ofs behavior tests and planning (#6689) (#6704)
6445ed7f5 is described below
commit 6445ed7f5c3b34be19c2ab0f09ba9c362f9b0cab
Author: Jintao Zhang <[email protected]>
AuthorDate: Sat Oct 18 21:09:12 2025 +0800
ci: remove ofs behavior tests and planning (#6689) (#6704)
ci: remove ofs behavior workflow and composite action
Remove test_behavior_bin_ofs workflow and action; drop job from
test_behavior.yml; update plan.py to BIN=[]; update tests accordingly; docs:
mark Applications in CLAUDE.md as moved/removed
---
.github/actions/test_behavior_bin_ofs/action.yaml | 51 --------------------
.github/scripts/test_behavior/plan.py | 2 +-
.github/scripts/test_behavior/test_plan.py | 9 ----
.github/workflows/test_behavior.yml | 12 -----
.github/workflows/test_behavior_bin_ofs.yml | 59 -----------------------
CLAUDE.md | 6 +--
6 files changed, 4 insertions(+), 135 deletions(-)
diff --git a/.github/actions/test_behavior_bin_ofs/action.yaml
b/.github/actions/test_behavior_bin_ofs/action.yaml
deleted file mode 100644
index 9640a1c03..000000000
--- a/.github/actions/test_behavior_bin_ofs/action.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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: Test Ofs
-description: 'Test Ofs with given setup and service'
-inputs:
- setup:
- description: "The setup action for test"
- service:
- description: "The service to test"
- feature:
- description: "The feature to test"
-
-runs:
- using: "composite"
- steps:
- - name: Setup
- shell: bash
- run: |
- mkdir -p ./dynamic_test_bin_ofs &&
- cat <<EOF >./dynamic_test_bin_ofs/action.yml
- runs:
- using: composite
- steps:
- - name: Setup Test
- uses: ./.github/services/${{ inputs.service }}/${{ inputs.setup }}
- - name: Run Test Ofs
- shell: bash
- working-directory: bin/ofs
- run: cargo test --features ${{ inputs.feature }}
--no-default-features -- --no-capture
- env:
- OPENDAL_TEST: ${{ inputs.service }}
- # Remove me after we find out what happened
- RUST_TEST_THREADS: 1
- EOF
- - name: Run
- uses: ./dynamic_test_bin_ofs
diff --git a/.github/scripts/test_behavior/plan.py
b/.github/scripts/test_behavior/plan.py
index 6e81cee08..3a05e333f 100755
--- a/.github/scripts/test_behavior/plan.py
+++ b/.github/scripts/test_behavior/plan.py
@@ -33,7 +33,7 @@ PROJECT_DIR = GITHUB_DIR.parent
LANGUAGE_BINDING = ["java", "python", "nodejs", "go", "c", "cpp"]
-BIN = ["ofs"]
+BIN = []
INTEGRATIONS = ["object_store"]
diff --git a/.github/scripts/test_behavior/test_plan.py
b/.github/scripts/test_behavior/test_plan.py
index aaa72e217..aa213c7ba 100644
--- a/.github/scripts/test_behavior/test_plan.py
+++ b/.github/scripts/test_behavior/test_plan.py
@@ -50,15 +50,6 @@ class BehaviorTestPlan(unittest.TestCase):
self.assertTrue(result["components"]["binding_java"])
self.assertTrue(len(result["binding_java"]) > 0)
- def test_bin_ofs(self):
- result = plan(["bin/ofs/Cargo.toml"])
- self.assertTrue(result["components"]["bin_ofs"])
- self.assertTrue(len(result["bin_ofs"][0]["cases"]) > 0)
-
- result = plan(["core/src/services/fs/mod.rs"])
- cases = [v["service"] for v in result["bin_ofs"][0]["cases"]]
- # Should contain ofs
- self.assertTrue("fs" in cases)
def test_integration_object_store(self):
result = plan(["integrations/object_store/Cargo.toml"])
diff --git a/.github/workflows/test_behavior.yml
b/.github/workflows/test_behavior.yml
index 1c1935e64..d51e91afc 100644
--- a/.github/workflows/test_behavior.yml
+++ b/.github/workflows/test_behavior.yml
@@ -176,18 +176,6 @@ jobs:
os: ${{ matrix.os }}
cases: ${{ toJson(matrix.cases) }}
- test_bin_ofs:
- name: bin_ofs / ${{ matrix.os }}
- needs: [plan]
- if: fromJson(needs.plan.outputs.plan).components.bin_ofs
- secrets: inherit
- strategy:
- matrix:
- include: ${{ fromJson(needs.plan.outputs.plan).bin_ofs }}
- uses: ./.github/workflows/test_behavior_bin_ofs.yml
- with:
- os: ${{ matrix.os }}
- cases: ${{ toJson(matrix.cases) }}
test_integration_object_store:
name: integration_object_store / ${{ matrix.os }}
diff --git a/.github/workflows/test_behavior_bin_ofs.yml
b/.github/workflows/test_behavior_bin_ofs.yml
deleted file mode 100644
index 74da61a7d..000000000
--- a/.github/workflows/test_behavior_bin_ofs.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# 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: Behavior Test Bin Ofs
-
-on:
- workflow_call:
- inputs:
- os:
- required: true
- type: string
- cases:
- required: true
- type: string
-
-jobs:
- test:
- name: ${{ matrix.cases.service }} / ${{ matrix.cases.setup }}
- runs-on: ${{ inputs.os }}
- timeout-minutes: 10
-
- strategy:
- matrix:
- cases: ${{ fromJson(inputs.cases) }}
- steps:
- - uses: actions/checkout@v5
- - name: Setup Rust toolchain
- uses: ./.github/actions/setup
- with:
- need-protoc: true
- need-rocksdb: true
- github-token: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Setup 1Password Connect
- uses: 1password/load-secrets-action/configure@v3
- with:
- connect-host: ${{ secrets.OP_CONNECT_HOST }}
- connect-token: ${{ secrets.OP_CONNECT_TOKEN }}
-
- - name: Test Bin Ofs
- uses: ./.github/actions/test_behavior_bin_ofs
- with:
- setup: ${{ matrix.cases.setup }}
- service: ${{ matrix.cases.service }}
- feature: ${{ matrix.cases.feature }}
diff --git a/CLAUDE.md b/CLAUDE.md
index 01e908173..b3438a714 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -103,9 +103,9 @@ Each service follows a consistent structure:
- Generated code uses the `dev` crate for consistency
### Applications
-- **bin/oli**: CLI tool for data access (like s3cmd)
-- **bin/oay**: API gateway for HTTP access
-- **bin/ofs**: POSIX filesystem interface
+- oli: moved to a separate repository (see docs:
https://opendal.apache.org/docs/40-apps/oli)
+- ofs: moved to a separate repository (see docs:
https://opendal.apache.org/docs/40-apps/ofs)
+- oay: removed from this repository
### Integrations
- **integrations/**: Ecosystem integrations (FUSE, WebDAV, object_store)