From fe39d7229b6247cdc8cf792c33f3be9263cd8e53 Mon Sep 17 00:00:00 2001 From: Shubham Patil Date: Tue, 31 Mar 2026 09:28:36 +0530 Subject: [PATCH] ci: remove redundant check_typos job, superseded by pre_commit_check --- .github/workflows/check_typos.yml | 49 -------------- .gitlab-ci.yml | 20 +----- tools/check_typos.sh | 104 ------------------------------ 3 files changed, 1 insertion(+), 172 deletions(-) delete mode 100644 .github/workflows/check_typos.yml delete mode 100755 tools/check_typos.sh diff --git a/.github/workflows/check_typos.yml b/.github/workflows/check_typos.yml deleted file mode 100644 index 787538523..000000000 --- a/.github/workflows/check_typos.yml +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2025 Espressif Systems (Shanghai) PTE LTD -# -# 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: Check Typos -permissions: - contents: read - -on: - pull_request: - branches: - - main - - 'release/**' - -jobs: - check_typos: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - name: Install codespell - run: pip install codespell - - name: Fetch main branch - run: git fetch origin main - - name: Check typos in changed files - run: | - FILES=$(git diff --name-only origin/main...HEAD) - echo "Changed files: $FILES" - if [ -n "$FILES" ]; then - ./tools/check_typos.sh $FILES - else - echo "No files changed, skipping typo check" - fi \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f32bf2dd1..1800ab1ac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -248,7 +248,6 @@ build_image: needs: - job: build_image optional: true - - job: check_typos - job: pre_commit_check tags: - build @@ -645,7 +644,6 @@ build_managed_component_light: needs: - job: build_image optional: true - - job: check_typos - job: pre_commit_check script: - cd ${ESP_MATTER_PATH}/examples/managed_component_light @@ -681,7 +679,6 @@ build_esp_rainmaker_apps: needs: - job: build_image optional: true - - job: check_typos - job: pre_commit_check artifacts: @@ -723,7 +720,7 @@ build_docs: tags: - build needs: - - job: check_typos + - job: pre_commit_check variables: ESP_DOCS_LATEST_BRANCH_NAME: "main" artifacts: @@ -786,21 +783,6 @@ deploy_docs_production: DOCS_DEPLOY_PATH: "$DOCS_PROD_PATH" DOCS_DEPLOY_URL_BASE: "https://$DOCS_PROD_SERVER/$DOCS_PROD_PATH" -check_typos: - image: $CI_DOCKER_REGISTRY/esp-env-v6.0:1 - stage: pre_check - script: - - pip install codespell - - git fetch origin main - - | - FILES=$(git diff --name-only origin/main...HEAD) - echo "change files: $FILES" - if [ -n "$FILES" ]; then - ./tools/check_typos.sh $FILES - fi - tags: - - build - pre_commit_check: image: $CI_DOCKER_REGISTRY/esp-env-v6.0:1 stage: pre_check diff --git a/tools/check_typos.sh b/tools/check_typos.sh deleted file mode 100755 index 2c2e6aaca..000000000 --- a/tools/check_typos.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -# Usage: tools/check_typos.sh [source_file_or_directory] ... - -CODESPELL_SKIP_LIST=() -ERROR_FOUND=0 - -parse_codespellrc_skips() { - if [ -f .codespellrc ]; then - local skip_files - skip_files=$(grep -E "^skip\s*=" .codespellrc | cut -d '=' -f2 | tr -d ' ') - IFS=',' read -ra CODESPELL_SKIP_LIST <<< "$skip_files" - fi -} - -should_skip_file() { - local file_path="$1" - for pattern in "${CODESPELL_SKIP_LIST[@]}"; do - if [[ "$file_path" == $pattern* ]]; then - return 0 - fi - done - return 1 -} - -process_file() { - local SRC_FILE="$1" - cat "$SRC_FILE" | \ - python3 -c " -import sys, re -ignore_directive = re.compile(r\"[^\w\s]\s*codespell:ignore\b\") -def split_line(line): - if ignore_directive.search(line): - return line.rstrip() - tokens = re.findall(r\"\b[\w']+\b\", line) - result = [] - for token in tokens: - if \"'\" in token: - result.append(token) - else: - result.extend(re.findall(r\"\d+[a-zA-Z]+|[A-Z]+(?=[A-Z][a-z])|[A-Z]?[a-z]+|[A-Z]+\", token)) - return \" \".join(result) -for line in sys.stdin: - print(split_line(line)) -" | codespell --check-hidden --stdin-single-line -q 32 - 2>&1 | sed "s|^|$SRC_FILE: |" - if [ "${PIPESTATUS[2]}" -ne 0 ]; then - ERROR_FOUND=1 - fi -} - -is_valid_file() { - local file="$1" - - case "$file" in - *.c|*.h|*.cpp|*.py|*.txt|*.md|*.yml|*.ini|*.json|*.sh|*.cmake) ;; - *) return 1 ;; - esac - - if should_skip_file "$file"; then - return 1 - fi - - return 0 -} - -process_directory() { - local DIR="$1" - local file - - find "$DIR" -type f | while read -r file; do - if is_valid_file "$file"; then - process_file "$file" - fi - done -} - -main() { - local TARGETS=("$@") - - parse_codespellrc_skips - - if [ "$#" -eq 0 ]; then - TARGETS=(./components ./examples) - fi - - for TARGET in "${TARGETS[@]}"; do - if [ -f "$TARGET" ]; then - if is_valid_file "$TARGET"; then - process_file "$TARGET" - fi - elif [ -d "$TARGET" ]; then - process_directory "$TARGET" - else - echo "Warning: '$TARGET' is not a valid file or directory, skipping" - fi - done - - if [ "$ERROR_FOUND" == "1" ]; then - echo "Typos found" - exit 1 - fi -} - -main "$@"