# Copyright 2026 RustFS Team # # Licensed 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. # Reports the existing required checks for paths excluded by ci.yml. # Mixed PRs can trigger both workflows; their Quick Checks jobs use one shared # action to keep validation coverage aligned. Keep this paths list in sync with # ci.yml's pull_request.paths-ignore via scripts/check_ci_paths_sync.sh. name: Continuous Integration (docs only) on: pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - "**.md" - "docs/**" - "deploy/**" - "scripts/dev_*.sh" - "scripts/probe.sh" - "LICENSE*" - ".gitignore" - ".dockerignore" - "README*" - "**/*.png" - "**/*.jpg" - "**/*.svg" - ".github/workflows/build.yml" - ".github/workflows/docker.yml" - ".github/workflows/audit.yml" - "flake.lock" permissions: contents: read jobs: quick-checks: name: Quick Checks runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout repository uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: persist-credentials: false - name: Run shared quick checks uses: ./.github/actions/quick-checks test-and-lint: name: Test and Lint runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout repository uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: persist-credentials: false # Docs-only PRs skip the full code CI, but they are exactly where a # planning-type document could be slipped in (git add -f bypasses # .gitignore). Run the guard here so the required "Test and Lint" check # stays meaningful for docs-only changes. - name: Check no planning docs committed run: ./scripts/check_no_planning_docs.sh - name: Satisfy required check for docs-only changes run: echo "Docs-only change — code CI is skipped by paths-ignore; planning-docs guard passed, reporting success for the required 'Test and Lint' check."