# Copyright 2024 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. name: Architecture Migration Rules on: pull_request: types: [ opened, synchronize, reopened, closed ] branches: [ main ] paths: - "ARCHITECTURE.md" - "docs/architecture/**" - "scripts/check_architecture_migration_rules.sh" - ".github/workflows/architecture-migration-rules.yml" workflow_dispatch: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: cancel-closed-pr-runs: name: Cancel Closed PR Runs if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest steps: - name: Explain cancellation run run: echo "PR closed; this run only cancels older runs in the same concurrency group." architecture-migration-rules: name: Architecture Migration Rules if: github.event_name != 'pull_request' || github.event.action != 'closed' runs-on: ubuntu-latest steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - name: Install ripgrep run: | sudo apt-get update sudo apt-get install -y ripgrep - name: Check architecture migration rules run: ./scripts/check_architecture_migration_rules.sh