File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-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_parent_dir=$(basename "$(dirname "${df_dir}")")
41+ df_yaml="${df_parent_dir}.yaml"
42+ if [ ! -f "${df_yaml}" ]; then
43+ echo "Error: Missing YAML data file ${df_yaml} for Dockerfile ${df}"
44+ exit 1
45+ fi
46+ echo "Generating ${df}"
47+ ./generate.sh "${df_yaml}" "${df}.generated"
48+ # Compare generated Dockerfile with the existing one
49+ if ! diff -u "${df}" "${df}.generated"; then
50+ echo "Error: Dockerfile ${df} is out of date. Please regenerate it."
51+ exit 1
52+ fi
53+ done
You can’t perform that action at this time.
0 commit comments