diff --git a/.github/actions/behavior_test_binding_java/action.yaml b/.github/actions/test_behavior_binding_java/action.yaml similarity index 100% rename from .github/actions/behavior_test_binding_java/action.yaml rename to .github/actions/test_behavior_binding_java/action.yaml diff --git a/.github/actions/behavior_test_binding_nodejs/action.yaml b/.github/actions/test_behavior_binding_nodejs/action.yaml similarity index 100% rename from .github/actions/behavior_test_binding_nodejs/action.yaml rename to .github/actions/test_behavior_binding_nodejs/action.yaml diff --git a/.github/actions/behavior_test_binding_python/action.yaml b/.github/actions/test_behavior_binding_python/action.yaml similarity index 100% rename from .github/actions/behavior_test_binding_python/action.yaml rename to .github/actions/test_behavior_binding_python/action.yaml diff --git a/.github/actions/behavior_test_core/action.yaml b/.github/actions/test_behavior_core/action.yaml similarity index 100% rename from .github/actions/behavior_test_core/action.yaml rename to .github/actions/test_behavior_core/action.yaml diff --git a/.github/scripts/behavior_test/__init__.py b/.github/scripts/test_behavior/__init__.py similarity index 100% rename from .github/scripts/behavior_test/__init__.py rename to .github/scripts/test_behavior/__init__.py diff --git a/.github/scripts/behavior_test/plan.py b/.github/scripts/test_behavior/plan.py similarity index 97% rename from .github/scripts/behavior_test/plan.py rename to .github/scripts/test_behavior/plan.py index 88768e5c090..66a44b13e71 100755 --- a/.github/scripts/behavior_test/plan.py +++ b/.github/scripts/test_behavior/plan.py @@ -96,18 +96,18 @@ def calculate_hint(changed_files: list[str]) -> Hint: for p in changed_files: # workflow behavior tests affected - if p == ".github/workflows/behavior_test.yml": + if p == ".github/workflows/test_behavior.yml": hint.core = True for language in LANGUAGE_BINDING: setattr(hint, f"binding_{language}", True) hint.all_service = True - if p == ".github/workflows/behavior_test_core.yml": + if p == ".github/workflows/test_behavior_core.yml": hint.core = True hint.all_service = True for language in LANGUAGE_BINDING: - if p == f".github/workflows/behavior_test_binding_{language}.yml": + if p == f".github/workflows/test_behavior_binding_{language}.yml": setattr(hint, f"binding_{language}", True) hint.all_service = True # core affected diff --git a/.github/scripts/behavior_test/test_plan.py b/.github/scripts/test_behavior/test_plan.py similarity index 100% rename from .github/scripts/behavior_test/test_plan.py rename to .github/scripts/test_behavior/test_plan.py diff --git a/.github/workflows/oay_test_webdav.yml b/.github/workflows/ci_bin_oay.yml similarity index 78% rename from .github/workflows/oay_test_webdav.yml rename to .github/workflows/ci_bin_oay.yml index 45205f974e1..189283f495b 100644 --- a/.github/workflows/oay_test_webdav.yml +++ b/.github/workflows/ci_bin_oay.yml @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -name: Oay WebDAV Test +name: Oay CI on: push: @@ -26,15 +26,31 @@ on: - main paths: - "bin/oay/**" - - ".github/workflows/oay_test_webdav.yml" - workflow_dispatch: + - "core/**" + - ".github/workflows/ci_bin_oay.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: true jobs: - backend-fs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + with: + need-rocksdb: true + need-protoc: true + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Cargo clippy + working-directory: bin/oay + run: cargo clippy --all-targets --all-features -- -D warnings + + test_backend_fs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/ci_bin_ofs.yml b/.github/workflows/ci_bin_ofs.yml new file mode 100644 index 00000000000..4469efcf375 --- /dev/null +++ b/.github/workflows/ci_bin_ofs.yml @@ -0,0 +1,51 @@ +# 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: Ofs CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + paths: + - "bin/ofs/**" + - "core/**" + - ".github/workflows/ci_bin_ofs.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + with: + need-rocksdb: true + need-protoc: true + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Cargo clippy + working-directory: bin/ofs + run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/.github/workflows/ci_bin_oli.yml b/.github/workflows/ci_bin_oli.yml new file mode 100644 index 00000000000..f6877485f78 --- /dev/null +++ b/.github/workflows/ci_bin_oli.yml @@ -0,0 +1,51 @@ +# 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: Oli CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + paths: + - "bin/oay/**" + - "core/**" + - ".github/workflows/ci_bin_oli.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + with: + need-rocksdb: true + need-protoc: true + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Cargo clippy + working-directory: bin/oli + run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/.github/workflows/bindings_c.yml b/.github/workflows/ci_bindings_c.yml similarity index 100% rename from .github/workflows/bindings_c.yml rename to .github/workflows/ci_bindings_c.yml diff --git a/.github/workflows/bindings_cpp.yml b/.github/workflows/ci_bindings_cpp.yml similarity index 100% rename from .github/workflows/bindings_cpp.yml rename to .github/workflows/ci_bindings_cpp.yml diff --git a/.github/workflows/bindings_dotnet.yml b/.github/workflows/ci_bindings_dotnet.yml similarity index 100% rename from .github/workflows/bindings_dotnet.yml rename to .github/workflows/ci_bindings_dotnet.yml diff --git a/.github/workflows/bindings_go.yml b/.github/workflows/ci_bindings_go.yml similarity index 100% rename from .github/workflows/bindings_go.yml rename to .github/workflows/ci_bindings_go.yml diff --git a/.github/workflows/bindings_haskell.yml b/.github/workflows/ci_bindings_haskell.yml similarity index 100% rename from .github/workflows/bindings_haskell.yml rename to .github/workflows/ci_bindings_haskell.yml diff --git a/.github/workflows/bindings_java.yml b/.github/workflows/ci_bindings_java.yml similarity index 100% rename from .github/workflows/bindings_java.yml rename to .github/workflows/ci_bindings_java.yml diff --git a/.github/workflows/bindings_lua.yml b/.github/workflows/ci_bindings_lua.yml similarity index 100% rename from .github/workflows/bindings_lua.yml rename to .github/workflows/ci_bindings_lua.yml diff --git a/.github/workflows/bindings_nodejs.yml b/.github/workflows/ci_bindings_nodejs.yml similarity index 100% rename from .github/workflows/bindings_nodejs.yml rename to .github/workflows/ci_bindings_nodejs.yml diff --git a/.github/workflows/bindings_ocaml.yml b/.github/workflows/ci_bindings_ocaml.yml similarity index 100% rename from .github/workflows/bindings_ocaml.yml rename to .github/workflows/ci_bindings_ocaml.yml diff --git a/.github/workflows/bindings_php.yml b/.github/workflows/ci_bindings_php.yml similarity index 100% rename from .github/workflows/bindings_php.yml rename to .github/workflows/ci_bindings_php.yml diff --git a/.github/workflows/bindings_python.yml b/.github/workflows/ci_bindings_python.yml similarity index 100% rename from .github/workflows/bindings_python.yml rename to .github/workflows/ci_bindings_python.yml diff --git a/.github/workflows/bindings_ruby.yml b/.github/workflows/ci_bindings_ruby.yml similarity index 100% rename from .github/workflows/bindings_ruby.yml rename to .github/workflows/ci_bindings_ruby.yml diff --git a/.github/workflows/bindings_swift.yml b/.github/workflows/ci_bindings_swift.yml similarity index 100% rename from .github/workflows/bindings_swift.yml rename to .github/workflows/ci_bindings_swift.yml diff --git a/.github/workflows/bindings_zig.yml b/.github/workflows/ci_bindings_zig.yml similarity index 100% rename from .github/workflows/bindings_zig.yml rename to .github/workflows/ci_bindings_zig.yml diff --git a/.github/workflows/core.yml b/.github/workflows/ci_core.yml similarity index 100% rename from .github/workflows/core.yml rename to .github/workflows/ci_core.yml diff --git a/.github/workflows/ci_integration_dav_server.yml b/.github/workflows/ci_integration_dav_server.yml new file mode 100644 index 00000000000..3103535a275 --- /dev/null +++ b/.github/workflows/ci_integration_dav_server.yml @@ -0,0 +1,47 @@ +# 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: Integration Dav Server CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + paths: + - "integrations/dav-server/**" + - "core/**" + - ".github/workflows/ci_integration_dav_server.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + + - name: Cargo clippy + working-directory: integrations/dav-server + run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/.github/workflows/ci_integration_object_store.yml b/.github/workflows/ci_integration_object_store.yml new file mode 100644 index 00000000000..824186aef1d --- /dev/null +++ b/.github/workflows/ci_integration_object_store.yml @@ -0,0 +1,47 @@ +# 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: Integration Object Store CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + paths: + - "integrations/object_store/**" + - "core/**" + - ".github/workflows/ci_integration_object_store.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + + - name: Cargo clippy + working-directory: integrations/object_store + run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/.github/workflows/publish.yml b/.github/workflows/release_core.yml similarity index 94% rename from .github/workflows/publish.yml rename to .github/workflows/release_core.yml index ee654d8e0ad..e12b6a38242 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/release_core.yml @@ -21,6 +21,12 @@ on: push: tags: - '*' + pull_request: + branches: + - main + paths: + - ".github/workflows/release_core.yml" + workflow_dispatch: jobs: publish: diff --git a/.github/workflows/behavior_test.yml b/.github/workflows/test_behavior.yml similarity index 92% rename from .github/workflows/behavior_test.yml rename to .github/workflows/test_behavior.yml index 2ca65a9f2a6..4c65bbd4e35 100644 --- a/.github/workflows/behavior_test.yml +++ b/.github/workflows/test_behavior.yml @@ -72,7 +72,7 @@ jobs: export GITHUB_IS_PUSH=$is_push # Run the workflow planner script - PLAN=$(./.github/scripts/behavior_test/plan.py $files_changed) + PLAN=$(./.github/scripts/test_behavior/plan.py $files_changed) echo "Plan:" echo "$PLAN" | jq . echo "plan=$PLAN" >> $GITHUB_OUTPUT @@ -85,7 +85,7 @@ jobs: strategy: matrix: include: ${{ fromJson(needs.plan.outputs.plan).core }} - uses: ./.github/workflows/behavior_test_core.yml + uses: ./.github/workflows/test_behavior_core.yml with: os: ${{ matrix.os }} cases: ${{ toJson(matrix.cases) }} @@ -98,7 +98,7 @@ jobs: strategy: matrix: include: ${{ fromJson(needs.plan.outputs.plan).binding_java }} - uses: ./.github/workflows/behavior_test_binding_java.yml + uses: ./.github/workflows/test_behavior_binding_java.yml with: os: ${{ matrix.os }} cases: ${{ toJson(matrix.cases) }} @@ -111,7 +111,7 @@ jobs: strategy: matrix: include: ${{ fromJson(needs.plan.outputs.plan).binding_python }} - uses: ./.github/workflows/behavior_test_binding_python.yml + uses: ./.github/workflows/test_behavior_binding_python.yml with: os: ${{ matrix.os }} cases: ${{ toJson(matrix.cases) }} @@ -124,7 +124,7 @@ jobs: strategy: matrix: include: ${{ fromJson(needs.plan.outputs.plan).binding_nodejs }} - uses: ./.github/workflows/behavior_test_binding_nodejs.yml + uses: ./.github/workflows/test_behavior_binding_nodejs.yml with: os: ${{ matrix.os }} cases: ${{ toJson(matrix.cases) }} diff --git a/.github/workflows/behavior_test_binding_java.yml b/.github/workflows/test_behavior_binding_java.yml similarity index 97% rename from .github/workflows/behavior_test_binding_java.yml rename to .github/workflows/test_behavior_binding_java.yml index de70104227e..52dd117870e 100644 --- a/.github/workflows/behavior_test_binding_java.yml +++ b/.github/workflows/test_behavior_binding_java.yml @@ -55,7 +55,7 @@ jobs: connect-token: ${{ secrets.OP_CONNECT_TOKEN }} - name: Test Core - uses: ./.github/actions/behavior_test_binding_java + uses: ./.github/actions/test_behavior_binding_java with: setup: ${{ matrix.cases.setup }} service: ${{ matrix.cases.service }} diff --git a/.github/workflows/behavior_test_binding_nodejs.yml b/.github/workflows/test_behavior_binding_nodejs.yml similarity index 97% rename from .github/workflows/behavior_test_binding_nodejs.yml rename to .github/workflows/test_behavior_binding_nodejs.yml index 4e5083980ef..1ff6490ce16 100644 --- a/.github/workflows/behavior_test_binding_nodejs.yml +++ b/.github/workflows/test_behavior_binding_nodejs.yml @@ -73,7 +73,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Test Core - uses: ./.github/actions/behavior_test_binding_nodejs + uses: ./.github/actions/test_behavior_binding_nodejs with: setup: ${{ matrix.cases.setup }} service: ${{ matrix.cases.service }} diff --git a/.github/workflows/behavior_test_binding_python.yml b/.github/workflows/test_behavior_binding_python.yml similarity index 97% rename from .github/workflows/behavior_test_binding_python.yml rename to .github/workflows/test_behavior_binding_python.yml index 5a72da86b14..42fd1de8183 100644 --- a/.github/workflows/behavior_test_binding_python.yml +++ b/.github/workflows/test_behavior_binding_python.yml @@ -67,7 +67,7 @@ jobs: maturin develop -E test -F ${{ matrix.cases.feature }} - name: Test Core - uses: ./.github/actions/behavior_test_binding_python + uses: ./.github/actions/test_behavior_binding_python with: setup: ${{ matrix.cases.setup }} service: ${{ matrix.cases.service }} diff --git a/.github/workflows/behavior_test_core.yml b/.github/workflows/test_behavior_core.yml similarity index 97% rename from .github/workflows/behavior_test_core.yml rename to .github/workflows/test_behavior_core.yml index 1d578838eee..f6831e84919 100644 --- a/.github/workflows/behavior_test_core.yml +++ b/.github/workflows/test_behavior_core.yml @@ -54,7 +54,7 @@ jobs: connect-token: ${{ secrets.OP_CONNECT_TOKEN }} - name: Test Core - uses: ./.github/actions/behavior_test_core + uses: ./.github/actions/test_behavior_core with: setup: ${{ matrix.cases.setup }} service: ${{ matrix.cases.service }} diff --git a/.github/workflows/edge_test.yml b/.github/workflows/test_edge.yml similarity index 100% rename from .github/workflows/edge_test.yml rename to .github/workflows/test_edge.yml diff --git a/.github/workflows/examples.yml b/.github/workflows/test_examples.yml similarity index 100% rename from .github/workflows/examples.yml rename to .github/workflows/test_examples.yml diff --git a/.github/workflows/fuzz_test.yml b/.github/workflows/test_fuzz.yml similarity index 100% rename from .github/workflows/fuzz_test.yml rename to .github/workflows/test_fuzz.yml