# Copyright 2026 Google LLC # # 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: Lint Documentation permissions: contents: read on: pull_request: paths: - 'docs/**' - '.github/workflows/docs**' - '.ci/lint-docs-*.sh' - '.hugo/data/filters.yaml' jobs: lint-source-pages: name: Lint Documentation runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: '3.x' - name: Check for large files (>24MB) run: | LARGE_FILES=$(find docs/ -type f -size +24M) if [ -n "$LARGE_FILES" ]; then echo "Error: Files exceed 24MB limit: $LARGE_FILES" exit 1 fi - name: Make scripts executable run: chmod +x .ci/lint-docs-*.sh - name: Run Structure Linter for Source Pages run: bash .ci/lint-docs-source-page.sh - name: Run Structure Linter for Tool Pages run: bash .ci/lint-docs-tool-page.sh - name: Run Sample Filters Linter run: bash .ci/lint-docs-sample-filters.sh