11name : Base workflow for compile
22
3+ env :
4+ DEFAULT_PROGRAM_ROOT : examples/
5+ DEFAULT_PROGRAM_SRC : /src
6+
37on :
48 workflow_call :
59 inputs :
1519 program :
1620 required : true
1721 type : string
18- # path to the program folder
22+ # optional path to the program's sources, otherwise uses the env defaults to use PROGRAM_ROOT/program/PROGRAM_SRC
1923 src :
2024 required : true
2125 type : string
22- # optional path(s) to libraries to be included
26+ default : " "
27+ # optional path(s) to libraries' src folders to be included
2328 lib :
2429 required : false
2530 type : string
31+ default : " "
2632 # optional path(s) to specific resources to include in addition
2733 aux :
2834 required : false
2935 type : string
30- # program sub folder name where the src files are kept, default is usually correct
31- src_sub_folder :
32- required : false
33- type : string
34- default : " /src"
35- # libs sub folder name where the src files are kept, default is usually correct
36- lib_sub_folder :
37- required : false
38- type : string
39- default : " /src"
40-
36+ default : " "
4137
4238jobs :
4339 compile :
@@ -51,12 +47,23 @@ jobs:
5147 with :
5248 submodules : recursive
5349
50+ - name : Determine program sources folder
51+ id : vars
52+ run : |
53+ if [ -z "${{ inputs.src }}" ]; then
54+ echo "Assuming it's an example program"
55+ echo "program_src=${{ env.DEFAULT_PROGRAM_ROOT }}${{ inputs.src }}${{ env.DEFAULT_PROGRAM_SRC }}" >> $GITHUB_OUTPUT
56+ else
57+ echo "Using provided program source"
58+ echo "program_src=${{ inputs.src }}" >> $GITHUB_OUTPUT
59+ fi
60+
5461 - name : Gather application sources
5562 run : |
5663 echo "Creating temporary source directory"
5764 mkdir ${{ inputs.program }}
58- echo "Including sources from ${{ inputs.src }}${{ inputs.src_sub_folder }}"
59- mv ${{ inputs.src }}${{ inputs.src_sub_folder }}/* ${{ inputs.program }}
65+ echo "Including sources from ${{ steps.vars.outputs.program_src }}"
66+ mv ${{ steps.vars.outputs.program_src }}/* ${{ inputs.program }}
6067 echo "Including libraries:"
6168 for lib in ${{ inputs.lib }}; do
6269 if [ -d "$lib${{ inputs.lib_sub_folder }}" ]; then
0 commit comments