File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1616 -
uses :
hadolint/[email protected] 1717 with :
1818 recursive : true
19+ ensure-dockerfiles-up-to-date :
20+ runs-on : ubuntu-24.04
21+ steps :
22+ - uses : actions/checkout@v4
23+ - name : Install GHC and Stack
24+ uses :
haskell-actions/[email protected] 25+ with :
26+ enable-stack : true
27+ - name : Build dockerfiles generator
28+ run : |
29+ pushd generator
30+ stack setup
31+ stack build --no-terminal
32+ - name : Ensure Dockerfiles are up-to-date
33+ run : |
34+ # Collect the list of Dockerfiles to be built
35+ mapfile -t dockerfiles < <(find . -type f -name 'Dockerfile' | sort)
36+ # Generate Dockerfiles using the generate.sh wrapper tool
37+ for df in "${dockerfiles[@]}"; do
38+ # Get appropriate YAML data file from the Dockerfile path
39+ df_dir=$(dirname "${df}")
40+ df_yaml="${df_dir}.yaml"
41+ if [ ! -f "${df_yaml}" ]; then
42+ echo "Error: Missing YAML data file ${df_yaml} for Dockerfile ${df}"
43+ exit 1
44+ fi
45+ echo "Generating ${df}"
46+ ./generate.sh "${df_yaml}" "${df}.generated"
47+ # Compare generated Dockerfile with the existing one
48+ if ! diff -u "${df}" "${df}.generated"; then
49+ echo "Error: Dockerfile ${df} is out of date. Please regenerate it."
50+ exit 1
51+ fi
52+ done
You can’t perform that action at this time.
0 commit comments