@@ -11,38 +11,50 @@ name: build_all_images
1111env :
1212 BRANCH_NAME : ' ${{ github.event.pull_request.head.ref }}'
1313jobs :
14+ discover_folders :
15+ runs-on : ubuntu-latest
16+ outputs :
17+ language_folders : ${{ steps.find-folders.outputs.languages }}
18+ project_folders : ${{ steps.find-folders.outputs.projects }}
19+ steps :
20+ - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
21+
22+ - id : find-folders
23+ run : |
24+ language_folders=$(find src/languages -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | jq -R -s -c 'split("\n")[:-1]')
25+ project_folders=$(find src/projects -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | jq -R -s -c 'split("\n")[:-1]')
26+ echo "languages=$language_folders" >> "$GITHUB_OUTPUT"
27+ echo "projects=$project_folders" >> "$GITHUB_OUTPUT"
1428 package_base_docker_image :
1529 uses : ./.github/workflows/build_multi_arch_image.yml
1630 with :
1731 tag_latest : ${{ inputs.tag_latest }}
1832 docker_tag : ${{ inputs.docker_tag }}
1933 container_name : base
2034 base_folder : " ."
21- package_language_docker_image :
35+ package_language_docker_images :
2236 needs :
2337 - package_base_docker_image
38+ - discover_folders
2439 strategy :
2540 fail-fast : false
2641 matrix :
27- include :
28- - container_name : node_24_python_3_14
29- - container_name : node_24_python_3_13
30- - container_name : node_24_python_3_12
31- - container_name : python_3_10
42+ container_name : ${{ fromJson(needs.discover_folders.outputs.language_folders) }}
3243 uses : ./.github/workflows/build_multi_arch_image.yml
3344 with :
3445 tag_latest : ${{ inputs.tag_latest }}
3546 docker_tag : ${{ inputs.docker_tag }}
3647 container_name : ${{ matrix.container_name }}
3748 base_folder : " languages"
38- package_project_docker_image :
49+ package_project_docker_images :
3950 needs :
40- - package_language_docker_image
51+ - package_language_docker_images
52+
53+ - discover_folders
4154 strategy :
4255 fail-fast : false
4356 matrix :
44- include :
45- - container_name : fhir_facade_api
57+ container_name : ${{ fromJson(needs.discover_folders.outputs.project_folders) }}
4658 uses : ./.github/workflows/build_multi_arch_image.yml
4759 with :
4860 tag_latest : ${{ inputs.tag_latest }}
0 commit comments