@@ -13,13 +13,25 @@ jobs:
1313 os : [macos-13, macos-14, ubuntu-22.04, ubuntu-24.04]
1414 compiler : [ gfortran ]
1515 version : [ 12, 13, 14 ]
16- extra_flags : [ -ffree-line-length-0 ]
16+ extra_flags : [ '" -ffree-line-length-0"' ]
1717 include :
18+ # https://hub.docker.com/r/phhargrove/llvm-flang/tags
1819 - os : ubuntu-24.04
1920 compiler : flang
20- version : new
21- container : gmao/llvm-flang:latest
22- extra_flags : -g
21+ version : 20
22+ extra_flags : ' "-g"'
23+ container : phhargrove/llvm-flang:20.1.0-1
24+ - os : ubuntu-24.04
25+ compiler : flang
26+ version : 19
27+ extra_flags : ' [ "-g", "-mmlir", "-allow-assumed-rank" ]'
28+ container : phhargrove/llvm-flang:19.1.1-1
29+ # - os: ubuntu-24.04
30+ # compiler: flang
31+ # version: new
32+ # container: gmao/llvm-flang:latest
33+ # extra_flags: -g
34+
2335 exclude :
2436 - os : ubuntu-22.04
2537 version : 13 # no package available
@@ -30,25 +42,34 @@ jobs:
3042 image : ${{ matrix.container }}
3143
3244 env :
33- GCC_V : ${{ matrix.version }}
34- FPM_FC : ${{ matrix.compiler }}-${{ matrix.version }}
35- EXTRA_FLAGS : ${{ matrix.extra_flags }}
45+ GCC_VERSION : ${{ matrix.version }}
46+ FC : ${{ matrix.compiler }}
47+ EXTRA_FLAGS : ${{ join(fromJSON( matrix.extra_flags), ' --flag ') }}
3648
3749 steps :
3850 - name : Checkout code
3951 uses : actions/checkout@v4
4052
4153 - name : Install Dependencies Ubuntu
42- if : contains(matrix.os, 'ubuntu') && 0
54+ if : ${{ contains(matrix.os, 'ubuntu') && matrix.compiler == 'gfortran' && 0 }}
4355 run : |
4456 sudo apt-get update
4557 sudo apt list -a 'gfortran-*'
46- sudo apt install -y gfortran-${GCC_V} build-essential
47- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_V} 100 \
48- --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_V} \
49- --slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V}
58+ sudo apt install -y gfortran-${GCC_VERSION} build-essential
59+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VERSION} 100 \
60+ --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_VERSION}
61+
62+ - name : Setup Compilers
63+ run : |
64+ set -x
65+ if test "$FC" = "flang" ; then \
66+ echo "FPM_FC=flang-new" >> "$GITHUB_ENV" ; \
67+ else \
68+ echo "FPM_FC=gfortran-${GCC_VERSION}" >> "$GITHUB_ENV" ; \
69+ fi
5070
51- - uses : fortran-lang/setup-fpm@main
71+ - name : Setup FPM
72+ uses : fortran-lang/setup-fpm@main
5273 if : ${{ matrix.os != 'macos-14' }}
5374 with :
5475 github-token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments