diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index b674d6219..d3cce7eca 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -18,10 +18,6 @@ env: MKL_LINUX_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/adb8a02c-4ee7-4882-97d6-a524150da358/l_onemkl_p_2023.2.0.49497_offline.sh IFORT_MAC_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2fbce033-15f4-4e13-8d14-f5a2016541ce/m_fortran-compiler-classic_p_2023.2.0.49001_offline.dmg MKL_MAC_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/9399bece-76fb-4b1c-b15c-8ac295448513/m_onemkl_p_2023.2.0.49501_offline.dmg - IFORT_WINDOWS_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1720594b-b12c-4aca-b7fb-a7d317bac5cb/w_fortran-compiler_p_2023.2.1.7_offline.exe - MKL_WINDOWS_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2b9cdf66-5291-418e-a7e8-f90515cc9098/w_onemkl_p_2023.2.0.49500_offline.exe - IFORT_WINDOWS_VERSION: 2023.2.1 - MKL_WINDOWS_VERSION: 2023.2.0 jobs: linux-static: @@ -357,67 +353,37 @@ jobs: $ncores = (Get-CimInstance -ClassName Win32_Processor | Measure-Object -Property NumberOfLogicalProcessors -Sum).Sum echo "num_cores=$ncores" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append - - uses: actions/checkout@v4 +# Setup Fortran performs the checkout... +# - uses: actions/checkout@v6 - - uses: actions/setup-python@v5 + - name: Setup Fortran + uses: gha3mi/setup-fortran-conda@latest with: - python-version: '3.x' + compiler: gfortran + extra-packages: "numpy mkl-static" # Set up the QT installer framework - uses: jmarrec/setup-qtifw@v1 with: qtifw-version: '4.6.x' - - name: Cache Intel Fortran compiler - id: cache-intel - uses: actions/cache@v4 - with: - path: C:\Program Files (x86)\Intel - key: cache-${{ env.IFORT_WINDOWS_URL }}-${{ env.MKL_WINDOWS_URL }} - - - name: Download & install Intel Fortran compiler - if: steps.cache-intel.outputs.cache-hit != 'true' - shell: cmd - run: | - curl ${{ env.IFORT_WINDOWS_URL }} --output ifort_download.exe - ifort_download -s -x -f ifort_unpack - ifort_unpack\bootstrapper --silent --eula accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 - curl ${{ env.MKL_WINDOWS_URL }} --output mkl_download.exe - mkl_download -s -x -f mkl_unpack - mkl_unpack\bootstrapper --silent --eula accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 - - - name: Install dependencies with PyPI - run: pip3 install numpy - - # The main Intel\oneAPI\setvars.bat script is not setting up the correct version of ifort, so using component-level scripts - name: Configure MOPAC with CMake - shell: cmd run: | - call "C:\Program Files (x86)\Intel\oneAPI\compiler\${{ env.IFORT_WINDOWS_VERSION }}\env\vars.bat" - call "C:\Program Files (x86)\Intel\oneAPI\mkl\${{ env.MKL_WINDOWS_VERSION }}\env\vars.bat" - echo %PATH% - cmake -Bbuild ^ - -GNinja ^ - -DBUILD_BZ=ON ^ - -DCMAKE_Fortran_COMPILER=ifort ^ - -DCMAKE_Fortran_FLAGS="/libs:static" ^ - -DBLA_STATIC=ON ^ + cmake -B build ` + -G Ninja ` + -DBUILD_BZ=ON ` + -DCMAKE_Fortran_COMPILER=gfortran ` + -DCMAKE_Fortran_FLAGS="/libs:static" ` + -DBLA_STATIC=ON ` -DBLA_VENDOR=Intel10_64lp - name: Build MOPAC with Ninja - shell: cmd - run: | - call "C:\Program Files (x86)\Intel\oneAPI\compiler\${{ env.IFORT_WINDOWS_VERSION }}\env\vars.bat" - call "C:\Program Files (x86)\Intel\oneAPI\mkl\${{ env.MKL_WINDOWS_VERSION }}\env\vars.bat" - cmake --build build -- -v + run: cmake --build build -- -v - name: Test MOPAC with CTest - shell: cmd run: | - call "C:\Program Files (x86)\Intel\oneAPI\compiler\${{ env.IFORT_WINDOWS_VERSION }}\env\vars.bat" - call "C:\Program Files (x86)\Intel\oneAPI\mkl\${{ env.MKL_WINDOWS_VERSION }}\env\vars.bat" cd build - ctest -V -j %NUM_CORES% + ctest -V -j $NUM_CORES - name: Save test results as an artifact (on failure) if: ${{ failure() }} @@ -427,25 +393,18 @@ jobs: path: build/tests - name: Local installation test - shell: cmd run: | cd build cmake --install . - name: Package MOPAC with CPack (in development) - shell: cmd run: | - call "C:\Program Files (x86)\Intel\oneAPI\compiler\${{ env.IFORT_WINDOWS_VERSION }}\env\vars.bat" - call "C:\Program Files (x86)\Intel\oneAPI\mkl\${{ env.MKL_WINDOWS_VERSION }}\env\vars.bat" cd build cpack -G IFW - dir + ls - name: Local installation test & minimal packaging - shell: cmd run: | - call "C:\Program Files (x86)\Intel\oneAPI\compiler\${{ env.IFORT_WINDOWS_VERSION }}\env\vars.bat" - call "C:\Program Files (x86)\Intel\oneAPI\mkl\${{ env.MKL_WINDOWS_VERSION }}\env\vars.bat" cd build make install cpack -G ZIP