-
Notifications
You must be signed in to change notification settings - Fork 2
85 lines (69 loc) · 2.52 KB
/
keywords-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Check icons keywords
on:
workflow_dispatch:
push:
paths:
- "icons/**"
pull_request:
branches:
- production
paths:
- "icons/**"
jobs:
check_icons:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: List SVG files
run: |
ICONS_DIR="icons" # Reemplaza con la ubicación real de tu carpeta de iconos
echo "Listing SVG files..."
# Utiliza 'find' para encontrar todos los archivos SVG en la carpeta de iconos
find $ICONS_DIR -type f -name "*.svg" |
# Utiliza 'basename' para obtener solo el nombre de archivo sin la ruta
xargs -I {} basename {} |
# Utiliza 'sed' para quitar las partes "-filled", "-light", "-regular" y la extensión ".svg"
sed 's/\(-filled\|-light\|-regular\)\.svg//' |
# Utiliza 'sort -u' para obtener una lista única de nombres de archivo
sort -u > icons.txt
# Muestra el contenido del archivo icons.txt en la consola
cat icons.txt
continue-on-error: false
- name: Read JSON file
run: |
JSON_FILE="icons/icons-keywords.json"
echo "Reading JSON file..."
cat $JSON_FILE > data.json
continue-on-error: true
- name: Extract keywords
run: |
echo "Extracting keywords from JSON..."
# Usamos jq para extraer las claves del JSON y guardarlas en keywords.txt
cat data.json | jq -r 'keys[]' > keywords.txt
# Mostramos el contenido de keywords.txt para verificar que se han extraído correctamente
cat keywords.txt
continue-on-error: true
- name: Compare with Keywords
id: compare
run: |
# echo "Comparing icon names with keywords from JSON..."
missing_keywords=""
for icon_name in $(cat icons.txt); do
if ! grep -q "\"$icon_name\":" data.json; then
missing_keywords="$missing_keywords\n\033[0;31m × $icon_name\033[0m "
fi
done
# Mostrar la lista completa de elementos que faltan
if [ -n "$missing_keywords" ]; then
echo -e "\n\033[1mMissing Keywords:\033[0m"
echo -e "$missing_keywords \n"
exit 1 # Terminar la ejecución con un código de error
fi
continue-on-error: false
- name: Cleanup
run: |
rm data.json
rm icons.txt
rm keywords.txt
continue-on-error: true