@@ -10,171 +10,74 @@ jobs:
1010 - name : Build container
1111 run : DOCKER_BUILDKIT=1 docker build --tag ptoie_dep .
1212
13- # --- JSON ---
14- - name : Run TESTE JSON
13+ - name : Run all inputs with all configurations
1514 run : |
16- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/teste.txt --input-type txt
17- mv ./outputs/output.json ./outputs/teste.json
18- - name : Run CETEN200 (base) JSON
19- run : |
20- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll
21- mv ./outputs/output.json ./outputs/ceten-200.json
22- - name : Run WIKI200 (base) JSON
23- run : |
24- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll
25- mv ./outputs/output.json ./outputs/wiki-200.json
15+ set -euo pipefail
16+ mkdir -p outputs
2617
27- - name : Run WIKI200-CC JSON
28- run : |
29- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -cc
30- mv ./outputs/output.json ./outputs/wiki-200-cc.json
31- - name : Run CETEN200-CC JSON
32- run : |
33- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -cc
34- mv ./outputs/output.json ./outputs/ceten-200-cc.json
35- - name : Run WIKI200-SC JSON
36- run : |
37- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -sc
38- mv ./outputs/output.json ./outputs/wiki-200-sc.json
39- - name : Run CETEN200-SC JSON
40- run : |
41- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -sc
42- mv ./outputs/output.json ./outputs/ceten-200-sc.json
43- - name : Run WIKI200-HS JSON
44- run : |
45- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -hs
46- mv ./outputs/output.json ./outputs/wiki-200-hs.json
47- - name : Run CETEN200-HS JSON
48- run : |
49- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -hs
50- mv ./outputs/output.json ./outputs/ceten-200-hs.json
51- - name : Run WIKI200-A JSON
52- run : |
53- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -a
54- mv ./outputs/output.json ./outputs/wiki-200-a.json
55- - name : Run CETEN200-A JSON
56- run : |
57- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -a
58- mv ./outputs/output.json ./outputs/ceten-200-a.json
59- - name : Run WIKI200-A-T JSON
60- run : |
61- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -a -t
62- mv ./outputs/output.json ./outputs/wiki-200-a-t.json
63- - name : Run CETEN200-A-T JSON
64- run : |
65- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -a -t
66- mv ./outputs/output.json ./outputs/ceten-200-a-t.json
67- - name : Run WIKI200-ALL JSON
68- run : |
69- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -cc -sc -hs -a -t
70- mv ./outputs/output.json ./outputs/wiki-200-all.json
71- - name : Run CETEN200-ALL JSON
72- run : |
73- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -cc -sc -hs -a -t
74- mv ./outputs/output.json ./outputs/ceten-200-all.json
18+ # Define flag combinations to run (same for JSON and CSV)
19+ FLAGS_LIST=("" "-cc" "-sc" "-hs" "-a" "-a -t" "-cc -sc -hs -a -t")
7520
76- # --- CSV ---
77- - name : Run TESTE CSV
78- run : |
79- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/teste.txt -o ./outputs/output.csv -ot csv
80- mv ./outputs/output.csv ./outputs/teste.csv
81- - name : Run CETEN200 (base) CSV
82- run : |
83- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -o ./outputs/output.csv -ot csv
84- mv ./outputs/output.csv ./outputs/ceten-200.csv
85- - name : Run WIKI200 (base) CSV
86- run : |
87- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -o ./outputs/output.csv -ot csv
88- mv ./outputs/output.csv ./outputs/wiki-200.csv
21+ for input_path in inputs/*; do
22+ [ -f "$input_path" ] || continue
23+ filename=$(basename "$input_path")
24+ # strip last extension only (handles names like ceten-200.conll)
25+ name="${filename%.*}"
8926
90- - name : Run WIKI200-CC CSV
91- run : |
92- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -cc -o ./outputs/output.csv -ot csv
93- mv ./outputs/output.csv ./outputs/wiki-200-cc.csv
94- - name : Run CETEN200-CC CSV
95- run : |
96- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -cc -o ./outputs/output.csv -ot csv
97- mv ./outputs/output.csv ./outputs/ceten-200-cc.csv
98- - name : Run WIKI200-SC CSV
99- run : |
100- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -sc -o ./outputs/output.csv -ot csv
101- mv ./outputs/output.csv ./outputs/wiki-200-sc.csv
102- - name : Run CETEN200-SC CSV
103- run : |
104- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -sc -o ./outputs/output.csv -ot csv
105- mv ./outputs/output.csv ./outputs/ceten-200-sc.csv
106- - name : Run WIKI200-HS CSV
107- run : |
108- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -hs -o ./outputs/output.csv -ot csv
109- mv ./outputs/output.csv ./outputs/wiki-200-hs.csv
110- - name : Run CETEN200-HS CSV
111- run : |
112- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -hs -o ./outputs/output.csv -ot csv
113- mv ./outputs/output.csv ./outputs/ceten-200-hs.csv
114- - name : Run WIKI200-A CSV
115- run : |
116- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -a -o ./outputs/output.csv -ot csv
117- mv ./outputs/output.csv ./outputs/wiki-200-a.csv
118- - name : Run CETEN200-A CSV
119- run : |
120- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -a -o ./outputs/output.csv -ot csv
121- mv ./outputs/output.csv ./outputs/ceten-200-a.csv
122- - name : Run WIKI200-A-T CSV
123- run : |
124- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -a -t -o ./outputs/output.csv -ot csv
125- mv ./outputs/output.csv ./outputs/wiki-200-a-t.csv
126- - name : Run CETEN200-A-T CSV
127- run : |
128- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -a -t -o ./outputs/output.csv -ot csv
129- mv ./outputs/output.csv ./outputs/ceten-200-a-t.csv
130- - name : Run WIKI200-ALL CSV
131- run : |
132- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/wiki-200.conll -it conll -cc -sc -hs -a -t -o ./outputs/output.csv -ot csv
133- mv ./outputs/output.csv ./outputs/wiki-200-all.csv
134- - name : Run CETEN200-ALL CSV
135- run : |
136- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/ceten-200.conll -it conll -cc -sc -hs -a -t -o ./outputs/output.csv -ot csv
137- mv ./outputs/output.csv ./outputs/ceten-200-all.csv
138- - name : Run BIA-ALL CSV
139- run : |
140- docker run --rm -v $(pwd):/ptoie_dep ptoie_dep poetry run python3 src/main.py -i ./inputs/bia.txt --input-type txt -cc -sc -hs -a -t -o ./outputs/output.csv -ot csv
141- mv ./outputs/output.csv ./outputs/bia.csv
142-
27+ # detect input type: .txt -> --input-type txt, otherwise assume conll
28+ if [[ "$filename" == *.txt ]]; then
29+ input_args="--input-type txt"
30+ else
31+ input_args="-it conll"
32+ fi
33+
34+ for flags in "${FLAGS_LIST[@]}"; do
35+ # --- JSON ---
36+ echo "[JSON] input=$filename flags=[$flags]"
37+ # remove stale json output if any
38+ rm -f ./outputs/output.json
39+ docker run --rm -v "$(pwd)":/ptoie_dep ptoie_dep poetry run python3 src/main.py -i "$input_path" $input_args $flags || echo "json-run-failed for $filename $flags"
40+
41+ # compute cleaned suffix for filename (empty => base name only)
42+ if [[ -z "$flags" ]]; then
43+ out_json="./outputs/${name}.json"
44+ else
45+ cleaned=$(echo "$flags" | sed -E "s/^\s*-//; s/\s+-/ /g; s/\s+/-/g; s/^-//")
46+ # remove any leading/trailing hyphens/spaces
47+ cleaned=$(echo "$cleaned" | sed -E 's/^[ -]+//; s/[ -]+$//; s/\s+/-/g')
48+ out_json="./outputs/${name}-${cleaned}.json"
49+ fi
50+ if [[ -f ./outputs/output.json ]]; then
51+ mv ./outputs/output.json "$out_json"
52+ else
53+ echo "Warning: JSON output not produced for $filename with flags [$flags]"
54+ fi
55+
56+ # --- CSV ---
57+ echo "[CSV] input=$filename flags=[$flags]"
58+ # remove stale csv output if any
59+ rm -f ./outputs/output.csv
60+ docker run --rm -v "$(pwd)":/ptoie_dep ptoie_dep poetry run python3 src/main.py -i "$input_path" $input_args $flags -o ./outputs/output.csv -ot csv || echo "csv-run-failed for $filename $flags"
61+
62+ if [[ -z "$flags" ]]; then
63+ out_csv="./outputs/${name}.csv"
64+ else
65+ cleaned=$(echo "$flags" | sed -E "s/^\s*-//; s/\s+-/ /g; s/\s+/-/g; s/^-//")
66+ cleaned=$(echo "$cleaned" | sed -E 's/^[ -]+//; s/[ -]+$//; s/\s+/-/g')
67+ out_csv="./outputs/${name}-${cleaned}.csv"
68+ fi
69+ if [[ -f ./outputs/output.csv ]]; then
70+ mv ./outputs/output.csv "$out_csv"
71+ else
72+ echo "Warning: CSV output not produced for $filename with flags [$flags]"
73+ fi
74+
75+ done
76+ done
14377
144- # --- Upload de todos os artefatos ---
14578 - name : Upload artifacts
14679 uses : actions/upload-artifact@v4
14780 with :
14881 name : extrai_fatos_outputs
14982 path : |
150- ./outputs/teste.json
151- ./outputs/ceten-200.json
152- ./outputs/wiki-200.json
153- ./outputs/ceten-200-cc.json
154- ./outputs/wiki-200-cc.json
155- ./outputs/ceten-200-sc.json
156- ./outputs/wiki-200-sc.json
157- ./outputs/ceten-200-hs.json
158- ./outputs/wiki-200-hs.json
159- ./outputs/ceten-200-a.json
160- ./outputs/wiki-200-a.json
161- ./outputs/ceten-200-a-t.json
162- ./outputs/wiki-200-a-t.json
163- ./outputs/ceten-200-all.json
164- ./outputs/wiki-200-all.json
165- ./outputs/teste.csv
166- ./outputs/ceten-200.csv
167- ./outputs/wiki-200.csv
168- ./outputs/wiki-200-cc.csv
169- ./outputs/ceten-200-cc.csv
170- ./outputs/wiki-200-sc.csv
171- ./outputs/ceten-200-sc.csv
172- ./outputs/wiki-200-hs.csv
173- ./outputs/ceten-200-hs.csv
174- ./outputs/wiki-200-a.csv
175- ./outputs/ceten-200-a.csv
176- ./outputs/wiki-200-a-t.csv
177- ./outputs/ceten-200-a-t.csv
178- ./outputs/wiki-200-all.csv
179- ./outputs/ceten-200-all.csv
180- ./outputs/bia.csv
83+ ./outputs
0 commit comments