@@ -10,15 +10,43 @@ defaults:
1010 run :
1111 shell : ' bash -Eeuo pipefail -x {0}'
1212
13- # TODO generate-stackbrew-library + proper matrix
14-
1513jobs :
16- test :
17- name : Smoke Test
14+
15+ generate-jobs :
16+ name : Generate Jobs
1817 runs-on : ubuntu-latest
18+ outputs :
19+ strategy : ${{ steps.generate-jobs.outputs.strategy }}
20+ steps :
21+ - uses : actions/checkout@v3
22+ - uses : docker-library/bashbrew@HEAD
23+ - id : generate-jobs
24+ name : Generate Jobs
25+ run : |
26+ export BASHBREW_NAMESPACE='tianon'
27+ image="${GITHUB_REPOSITORY##*/}"
28+ image="${image#docker-}"
29+ export GITHUB_REPOSITORY="$image"
30+ strategy="$("$BASHBREW_SCRIPTS/github-actions/generate.sh")"
31+ echo "strategy=$strategy" >> "$GITHUB_OUTPUT"
32+ jq . <<<"$strategy" # sanity check / debugging aid
33+
34+ test :
35+ needs : generate-jobs
36+ strategy : ${{ fromJson(needs.generate-jobs.outputs.strategy) }}
37+ name : ${{ matrix.name }}
38+ runs-on : ${{ matrix.os }}
1939 steps :
2040 - uses : actions/checkout@v3
21- - run : |
22- for dir in */; do
23- docker build --pull "$dir"
24- done
41+ - name : Prepare Environment
42+ run : ${{ matrix.runs.prepare }}
43+ - name : Pull Dependencies
44+ run : ${{ matrix.runs.pull }}
45+ - name : Build ${{ matrix.name }}
46+ run : ${{ matrix.runs.build }}
47+ - name : History ${{ matrix.name }}
48+ run : ${{ matrix.runs.history }}
49+ - name : Test ${{ matrix.name }}
50+ run : ${{ matrix.runs.test }}
51+ - name : ' "docker images"'
52+ run : ${{ matrix.runs.images }}
0 commit comments