@@ -22,68 +22,23 @@ jobs:
2222 bypass_codacy_variation :
2323 runs-on : ubuntu-latest
2424 steps :
25-
26- # Checkout Code to obtain 'codacy.yml' configuration
27- - name : Checkout Code
28- uses : actions/checkout@v6
29-
30- # Parse 'codacy.yml' exclusions
31- - name : Parse codacy.yml exclusions
32- id : parse-codacy-exclusions
33- run : |
34- FILE_NAME=".codacy.yml"
35-
36- # --- 1. EXTRACCIÓN Y DEFINICIÓN DE RUTAS ---
37-
38- # 1. Rutas dinámicas (yq)
39- # Extrae las exclusiones definidas por el usuario en el YAML.
40- EXCLUDES=$(yq '.exclude_paths[]' "$FILE_NAME" 2>/dev/null || true)
41-
42- # 2. Rutas estáticas esenciales
43- # Solo necesitamos excluir explícitamente el archivo de configuración, ya que
44- # todo lo demás (.github, tests, READMEs) queda fuera del patrón de inclusión "src/main/**".
45- STATIC_IGNORES="$FILE_NAME"
46-
47- # 3. Concatenamos todas las rutas a ser negadas
48- ALL_PATHS="$EXCLUDES"$'\n'"$STATIC_IGNORES"
49-
50- # --- 2. GENERACIÓN DEL FORMATO YAML (NUEVA ESTRATEGIA) ---
51-
52- # 4. Inicializamos la lista de salida: INCLUSIÓN ÚNICA Y ESPECÍFICA
53- FORMATTED_LIST="relevant_files:"$'\n'
54- # Patrón de inclusión: Solo archivos dentro de src/main y sus subcarpetas.
55- FORMATTED_LIST="$FORMATTED_LIST"$'\n'"- \"src/main/**\""
56-
57- # 5. Iteramos sobre todas las rutas para añadir las exclusiones
58- while IFS= read -r line; do
59- if [[ -n "$line" ]]; then
60- # Generamos la negación (esto respeta si codacy.yml excluye algo dentro de src/main)
61- FORMATTED_LIST="$FORMATTED_LIST"$'\n'"- \"!${line}\""
62- fi
63- done <<< "$ALL_PATHS"
64-
65- # --- 3. GUARDAR EL OUTPUT ---
66-
67- # Guardamos el resultado final
68- {
69- echo 'filters<<EOF'
70- echo "$FORMATTED_LIST"
71- echo 'EOF'
72- } >> $GITHUB_OUTPUT
73-
74- echo "Generated Filters (Final YAML Format):"
75- echo "$FORMATTED_LIST"
76-
25+
7726 # Verify if there are changes on relevant files
7827 # relevant_files will be:
7928 # - 'true' when there is at least one file that will trigger the 'Codacy Coverage Variation' check
8029 # - will be false otherwise.
8130 - uses : dorny/paths-filter@v3
8231 id : changes
8332 with :
84- filters : |
85- ${{ steps.parse-codacy-exclusions.outputs.filters }}
86-
33+ filters : |
34+ relevant_files:
35+ # Files processed by Codacy Coverage Variation
36+ - "src/main/**"
37+ # Excluded files from Codacy Coverage Variation
38+ - "!**/*.md"
39+ - "!**/*.yml"
40+ - "!.codacy.yml"
41+
8742 # Bypass the 'Codacy Coverage Variation' when there are no relevant files able to trigger it.
8843 - name : Create Success Check for Variation
8944 if : steps.changes.outputs.relevant_files == 'false'
0 commit comments