|
18 | 18 | type: string |
19 | 19 |
|
20 | 20 | jobs: |
| 21 | + setup: |
| 22 | + name: Compute shared flags |
| 23 | + runs-on: ubuntu-latest |
| 24 | + |
| 25 | + outputs: |
| 26 | + flags: ${{ steps.compute.outputs.flags }} |
| 27 | + |
| 28 | + steps: |
| 29 | + - id: compute |
| 30 | + run: | |
| 31 | + if [[ "${{ inputs.runner || 'ubuntu-latest' }}" == *arm* ]]; then |
| 32 | + echo "flags=" >> $GITHUB_OUTPUT |
| 33 | + else |
| 34 | + echo "flags=-Dcpu-arch=skylake" >> $GITHUB_OUTPUT |
| 35 | + fi |
| 36 | +
|
21 | 37 | build: |
22 | 38 | name: Build SU2 |
| 39 | + needs: setup |
23 | 40 | strategy: |
24 | 41 | fail-fast: false |
25 | 42 | matrix: |
26 | 43 | config_set: [BaseMPI, ReverseMPI, ForwardMPI, BaseNoMPI, ReverseNoMPI, ForwardNoMPI, ReverseTagNoMPI, BaseOMP, ReverseOMP, ForwardOMP] |
27 | 44 | include: |
28 | 45 | - config_set: BaseMPI |
29 | | - flags: '-Dcpu-arch=skylake -Denable-pywrapper=true -Denable-coolprop=true -Denable-mpp=true -Dinstall-mpp=true -Denable-mlpcpp=true -Denable-tests=true --warnlevel=2' |
| 46 | + flags: '${{ needs.setup.outputs.flags }} -Denable-pywrapper=true -Denable-coolprop=true -Denable-mpp=true -Dinstall-mpp=true -Denable-mlpcpp=true -Denable-tests=true --warnlevel=2' |
30 | 47 | - config_set: ReverseMPI |
31 | | - flags: '-Dcpu-arch=skylake -Denable-autodiff=true -Denable-normal=false -Denable-pywrapper=true -Denable-tests=true -Denable-mlpcpp=true --warnlevel=3 --werror' |
| 48 | + flags: '${{ needs.setup.outputs.flags }} -Denable-autodiff=true -Denable-normal=false -Denable-pywrapper=true -Denable-tests=true -Denable-mlpcpp=true --warnlevel=3 --werror' |
32 | 49 | - config_set: ForwardMPI |
33 | | - flags: '-Dcpu-arch=skylake -Denable-directdiff=true -Denable-normal=false -Denable-tests=true -Denable-mlpcpp=true --warnlevel=3 --werror' |
| 50 | + flags: '${{ needs.setup.outputs.flags }} -Denable-directdiff=true -Denable-normal=false -Denable-tests=true -Denable-mlpcpp=true --warnlevel=3 --werror' |
34 | 51 | - config_set: BaseNoMPI |
35 | | - flags: '-Dcpu-arch=skylake -Denable-pywrapper=true -Denable-openblas=true -Dwith-mpi=disabled -Denable-mlpcpp=true -Denable-tests=true --warnlevel=3 --werror' |
| 52 | + flags: '${{ needs.setup.outputs.flags }} -Denable-pywrapper=true -Denable-openblas=true -Dwith-mpi=disabled -Denable-mlpcpp=true -Denable-tests=true --warnlevel=3 --werror' |
36 | 53 | - config_set: ReverseNoMPI |
37 | | - flags: '-Dcpu-arch=skylake -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror' |
| 54 | + flags: '${{ needs.setup.outputs.flags }} -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror' |
38 | 55 | - config_set: ForwardNoMPI |
39 | | - flags: '-Dcpu-arch=skylake -Denable-directdiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' |
| 56 | + flags: '${{ needs.setup.outputs.flags }} -Denable-directdiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' |
40 | 57 | - config_set: ReverseTagNoMPI |
41 | | - flags: '-Dcpu-arch=skylake -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror -Dcodi-tape=Tag' |
| 58 | + flags: '${{ needs.setup.outputs.flags }} -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror -Dcodi-tape=Tag' |
42 | 59 | - config_set: BaseOMP |
43 | | - flags: '-Dcpu-arch=skylake -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
| 60 | + flags: '${{ needs.setup.outputs.flags }} -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
44 | 61 | - config_set: ReverseOMP |
45 | | - flags: '-Dcpu-arch=skylake -Denable-autodiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
| 62 | + flags: '${{ needs.setup.outputs.flags }} -Denable-autodiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
46 | 63 | - config_set: ForwardOMP |
47 | | - flags: '-Dcpu-arch=skylake -Denable-directdiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
| 64 | + flags: '${{ needs.setup.outputs.flags }} -Denable-directdiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
48 | 65 | runs-on: ${{ inputs.runner || 'ubuntu-latest' }} |
49 | 66 | steps: |
50 | 67 | - name: Cache Object Files |
@@ -76,18 +93,19 @@ jobs: |
76 | 93 | args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} |
77 | 94 | build_tsan: |
78 | 95 | name: Build SU2 (tsan) |
| 96 | + needs: setup |
79 | 97 | if: ${{ !contains(inputs.runner, 'arm') }} |
80 | 98 | strategy: |
81 | 99 | fail-fast: false |
82 | 100 | matrix: |
83 | 101 | config_set: [BaseOMP-tsan, ReverseOMP-tsan] #ForwardOMP-tsan |
84 | 102 | include: |
85 | 103 | - config_set: BaseOMP-tsan |
86 | | - flags: '--buildtype=debugoptimized -Dcpu-arch=skylake -Dwith-omp=true -Denable-mixedprec=true -Denable-tecio=false --warnlevel=3' |
| 104 | + flags: '--buildtype=debugoptimized ${{ needs.setup.outputs.flags }} -Dwith-omp=true -Denable-mixedprec=true -Denable-tecio=false --warnlevel=3' |
87 | 105 | - config_set: ReverseOMP-tsan |
88 | | - flags: '--buildtype=debugoptimized -Dcpu-arch=skylake -Denable-autodiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-tecio=false --warnlevel=3' |
| 106 | + flags: '--buildtype=debugoptimized ${{ needs.setup.outputs.flags }} -Denable-autodiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-tecio=false --warnlevel=3' |
89 | 107 | #- config_set: ForwardOMP-tsan |
90 | | - # flags: '--buildtype=debug -Dcpu-arch=skylake -Denable-directdiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
| 108 | + # flags: '--buildtype=debug ${{ needs.setup.outputs.flags }} -Denable-directdiff=true -Denable-normal=false -Dwith-omp=true -Denable-mixedprec=true -Denable-pywrapper=true -Denable-tecio=false --warnlevel=3 --werror' |
91 | 109 | runs-on: ${{ inputs.runner || 'ubuntu-latest' }} |
92 | 110 | steps: |
93 | 111 | - name: Cache Object Files |
@@ -119,15 +137,16 @@ jobs: |
119 | 137 | args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} |
120 | 138 | build_asan: |
121 | 139 | name: Build SU2 (asan) |
| 140 | + needs: setup |
122 | 141 | strategy: |
123 | 142 | fail-fast: false |
124 | 143 | matrix: |
125 | 144 | config_set: [BaseNoMPI-asan, ReverseNoMPI-asan] |
126 | 145 | include: |
127 | 146 | - config_set: BaseNoMPI-asan |
128 | | - flags: '--buildtype=debugoptimized -Dcpu-arch=skylake -Denable-openblas=true -Dwith-mpi=disabled -Denable-mlpcpp=true --warnlevel=3 --werror' |
| 147 | + flags: '--buildtype=debugoptimized ${{ needs.setup.outputs.flags }} -Denable-openblas=true -Dwith-mpi=disabled -Denable-mlpcpp=true --warnlevel=3 --werror' |
129 | 148 | - config_set: ReverseNoMPI-asan |
130 | | - flags: '--buildtype=debugoptimized -Dcpu-arch=skylake --optimization=1 -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled --warnlevel=3 --werror' |
| 149 | + flags: '--buildtype=debugoptimized ${{ needs.setup.outputs.flags }} --optimization=1 -Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled --warnlevel=3 --werror' |
131 | 150 | runs-on: ${{ inputs.runner || 'ubuntu-latest' }} |
132 | 151 | steps: |
133 | 152 | - name: Cache Object Files |
|
0 commit comments