Hallo NoSpamProxy Team,
ich habe mir euer Repository smime-ca-bundle (Link) und insbesondere die Action "Check certificate policies" angesehen.
Dabei bin ich auf einen Punkt gestoßen, den ich bisher nicht ganz nachvollziehen kann.
Im Workflow gibt es folgenden Step:
Wie zu sehen ist, wird die Variable $fail auf true gesetzt, sobald mindestens eine Datei nicht im PEM-Format vorliegt.
Der darauffolgende Step sieht folgendermaßen aus:
Am Ende dieses Steps gibt es erneut eine Abfrage in Bash:
Für mich ist das aktuell nicht ganz klar: Sollte der zweite Step nicht nur ausgeführt werden, wenn $fail im vorherigen Step false war?
Vielen Dank vorab für eine kurze Erklärung!
Gruß,
Daniel
ich habe mir euer Repository smime-ca-bundle (Link) und insbesondere die Action "Check certificate policies" angesehen.
Dabei bin ich auf einen Punkt gestoßen, den ich bisher nicht ganz nachvollziehen kann.
Im Workflow gibt es folgenden Step:
YAML:
- name: Check PEM encoding
env:
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
# check PEM encoding
if [[ ${ALL_CHANGED_FILES} -ne 0 ]]
then
# do not fail check if no certificate was added or changed
exit
fi
openssl version
set +e
fail=false
for file in ${ALL_CHANGED_FILES}; do
openssl x509 -noout -inform PEM -in "$(echo "$file" | sed 's@\\@@g')"
if [[ $? -ne 0 ]]
then
echo "::error file=$file::$file is not PEM encoded."
fail=true
fi
done
if [[ "$fail" == true ]]
then
echo "At least one certificate was not PEM encoded."
exit 1
fi
Der darauffolgende Step sieht folgendermaßen aus:
YAML:
- name: Check file name and location
if: always()
Am Ende dieses Steps gibt es erneut eine Abfrage in Bash:
Bash:
...
if ($fail -eq $true) {
echo "At least one certificate is in a wrong location."
exit 1
}
Für mich ist das aktuell nicht ganz klar: Sollte der zweite Step nicht nur ausgeführt werden, wenn $fail im vorherigen Step false war?
Vielen Dank vorab für eine kurze Erklärung!
Gruß,
Daniel