@@ -35,10 +35,10 @@ jobs:
3535
3636 steps :
3737 - name : Checkout code
38- uses : actions/checkout@v2
38+ uses : actions/checkout@v4
3939
4040 - name : Set up Python 3.x
41- uses : actions/setup-python@v1 # Use pip to install latest CMake, & FORD/Jin2For, etc.
41+ uses : actions/setup-python@v5 # Use pip to install latest CMake, & FORD/Jin2For, etc.
4242 with :
4343 python-version : 3.x
4444
@@ -92,12 +92,78 @@ jobs:
9292 if : ${{ contains(matrix.build, 'cmake') }}
9393 run : cmake --install ${{ env.BUILD_DIR }}
9494
95- intel-build :
95+ intel-build-llvm :
9696 runs-on : ${{ matrix.os }}
9797 strategy :
9898 fail-fast : false
9999 matrix :
100- os : [ubuntu-latest, macos-latest]
100+ os : [ubuntu-latest]
101+ fc : [ifx]
102+ cc : [icx]
103+ cxx : [icpx]
104+ env :
105+ FC : ${{ matrix.fc }}
106+ CC : ${{ matrix.cc }}
107+ CXX : ${{ matrix.cxx }}
108+
109+ steps :
110+ - name : Checkout code
111+ uses : actions/checkout@v4
112+
113+ - name : Set up Python 3.x
114+ uses : actions/setup-python@v5
115+ with :
116+ python-version : 3.x
117+
118+ - name : Add Intel repository (Linux)
119+ if : contains(matrix.os, 'ubuntu')
120+ run : |
121+ wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
122+ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
123+ sudo apt-get update
124+
125+ - name : Install Intel oneAPI compiler (Linux)
126+ if : contains(matrix.os, 'ubuntu')
127+ run : |
128+ sudo apt-get install intel-oneapi-compiler-fortran
129+ sudo apt-get install intel-oneapi-compiler-dpcpp-cpp
130+
131+ - name : Setup Intel oneAPI environment
132+ run : |
133+ source /opt/intel/oneapi/setvars.sh
134+ printenv >> $GITHUB_ENV
135+
136+ - name : Install fypp
137+ run : pip install --upgrade fypp
138+
139+ - name : Configure with CMake
140+ run : >-
141+ cmake -Wdev
142+ -DCMAKE_BUILD_TYPE=Release
143+ -DCMAKE_MAXIMUM_RANK:String=4
144+ -DCMAKE_INSTALL_PREFIX=$PWD/_dist
145+ -S . -B build
146+
147+ - name : Build and compile
148+ run : cmake --build build
149+
150+ - name : catch build fail
151+ run : cmake --build build --verbose --parallel 1
152+ if : failure()
153+
154+ - name : test
155+ run : ctest --parallel --output-on-failure --no-tests=error
156+ working-directory : build
157+
158+ - name : Install project
159+ run : cmake --install build
160+
161+ intel-build-classic :
162+ runs-on : ${{ matrix.os }}
163+ strategy :
164+ fail-fast : false
165+ matrix :
166+ os : [macos-latest]
101167 fc : [ifort]
102168 cc : [icc]
103169 cxx : [icpc]
@@ -111,10 +177,10 @@ jobs:
111177
112178 steps :
113179 - name : Checkout code
114- uses : actions/checkout@v2
180+ uses : actions/checkout@v4
115181
116182 - name : Set up Python 3.x
117- uses : actions/setup-python@v1
183+ uses : actions/setup-python@v5
118184 with :
119185 python-version : 3.x
120186
@@ -132,21 +198,6 @@ jobs:
132198 path : /opt/intel/oneapi
133199 key : install-${{ env.MACOS_HPCKIT_URL }}-${{ env.MACOS_FORTRAN_COMPONENTS }}
134200
135- - name : Add Intel repository (Linux)
136- if : contains(matrix.os, 'ubuntu')
137- run : |
138- wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
139- sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
140- rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
141- echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
142- sudo apt-get update
143-
144- - name : Install Intel oneAPI compiler (Linux)
145- if : contains(matrix.os, 'ubuntu')
146- run : |
147- sudo apt-get install intel-oneapi-compiler-fortran
148- sudo apt-get install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
149-
150201 - name : Install Intel oneAPI compiler (OSX)
151202 if : contains(matrix.os, 'macos') && steps.cache-install.outputs.cache-hit != 'true'
152203 run : |
0 commit comments