diff --git a/.github/compat/long_compat.csv b/.github/compat/long_compat.csv index b60d489..1c0c0fc 100644 --- a/.github/compat/long_compat.csv +++ b/.github/compat/long_compat.csv @@ -3,8 +3,6 @@ macos-12,gcc,10,✓ macos-12,gcc,11,✓ macos-12,gcc,12,✓ macos-12,gcc,13,✓ -macos-12,gcc,7,✓ -macos-12,gcc,8,✓ macos-12,gcc,9,✓ macos-12,intel-classic,2021.1.2, macos-12,intel-classic,2021.1,✓ @@ -14,7 +12,7 @@ macos-12,intel-classic,2021.3,✓ macos-12,intel-classic,2021.4,✓ macos-12,intel-classic,2021.5,✓ macos-12,intel-classic,2021.6,✓ -macos-12,intel-classic,2021.7.1,✓ +macos-12,intel-classic,2021.7.1, macos-12,intel-classic,2021.7,✓ macos-12,intel-classic,2021.8,✓ macos-12,intel-classic,2021.9,✓ @@ -25,8 +23,6 @@ macos-13,gcc,10,✓ macos-13,gcc,11,✓ macos-13,gcc,12,✓ macos-13,gcc,13,✓ -macos-13,gcc,7, -macos-13,gcc,8, macos-13,intel-classic,2021.1.2, macos-13,intel-classic,2021.1,✓ macos-13,intel-classic,2021.10,✓ @@ -35,7 +31,7 @@ macos-13,intel-classic,2021.3,✓ macos-13,intel-classic,2021.4,✓ macos-13,intel-classic,2021.5,✓ macos-13,intel-classic,2021.6,✓ -macos-13,intel-classic,2021.7.1,✓ +macos-13,intel-classic,2021.7.1, macos-13,intel-classic,2021.7,✓ macos-13,intel-classic,2021.8,✓ macos-13,intel-classic,2021.9,✓ @@ -45,7 +41,6 @@ macos-13,lfortran,0.33.0,✓ macos-14,gcc,11,✓ macos-14,gcc,12,✓ macos-14,gcc,13,✓ -macos-14,gcc,7, macos-14,intel-classic,2021.1.2, macos-14,intel-classic,2021.1,✓ macos-14,intel-classic,2021.10,✓ @@ -54,7 +49,7 @@ macos-14,intel-classic,2021.3,✓ macos-14,intel-classic,2021.4,✓ macos-14,intel-classic,2021.5,✓ macos-14,intel-classic,2021.6,✓ -macos-14,intel-classic,2021.7.1,✓ +macos-14,intel-classic,2021.7.1, macos-14,intel-classic,2021.7,✓ macos-14,intel-classic,2021.8,✓ macos-14,intel-classic,2021.9,✓ @@ -65,8 +60,6 @@ ubuntu-20.04,gcc,10,✓ ubuntu-20.04,gcc,11,✓ ubuntu-20.04,gcc,12, ubuntu-20.04,gcc,13,✓ -ubuntu-20.04,gcc,7,✓ -ubuntu-20.04,gcc,8,✓ ubuntu-20.04,gcc,9,✓ ubuntu-20.04,intel-classic,2021.1.2,✓ ubuntu-20.04,intel-classic,2021.1,✓ @@ -92,6 +85,7 @@ ubuntu-20.04,intel,2023.0,✓ ubuntu-20.04,intel,2023.1,✓ ubuntu-20.04,intel,2023.2,✓ ubuntu-20.04,intel,2024.0,✓ +ubuntu-20.04,intel,2024.1,✓ ubuntu-20.04,lfortran,0.31.0,✓ ubuntu-20.04,lfortran,0.32.0,✓ ubuntu-20.04,lfortran,0.33.0,✓ @@ -121,8 +115,6 @@ ubuntu-22.04,gcc,10,✓ ubuntu-22.04,gcc,11,✓ ubuntu-22.04,gcc,12,✓ ubuntu-22.04,gcc,13,✓ -ubuntu-22.04,gcc,7, -ubuntu-22.04,gcc,8, ubuntu-22.04,gcc,9,✓ ubuntu-22.04,intel-classic,2021.1.2,✓ ubuntu-22.04,intel-classic,2021.1,✓ @@ -148,6 +140,7 @@ ubuntu-22.04,intel,2023.0,✓ ubuntu-22.04,intel,2023.1,✓ ubuntu-22.04,intel,2023.2,✓ ubuntu-22.04,intel,2024.0,✓ +ubuntu-22.04,intel,2024.1,✓ ubuntu-22.04,lfortran,0.31.0,✓ ubuntu-22.04,lfortran,0.32.0,✓ ubuntu-22.04,lfortran,0.33.0,✓ @@ -156,14 +149,12 @@ ubuntu-22.04,nvidia-hpc,20.7, ubuntu-22.04,nvidia-hpc,20.9, ubuntu-22.04,nvidia-hpc,21.1, ubuntu-22.04,nvidia-hpc,21.11,✓ -ubuntu-22.04,nvidia-hpc,21.7, -ubuntu-22.04,nvidia-hpc,22.1, +ubuntu-22.04,nvidia-hpc,21.9, ubuntu-22.04,nvidia-hpc,22.11,✓ ubuntu-22.04,nvidia-hpc,22.2, ubuntu-22.04,nvidia-hpc,22.3, ubuntu-22.04,nvidia-hpc,22.5, ubuntu-22.04,nvidia-hpc,22.7, -ubuntu-22.04,nvidia-hpc,22.9, ubuntu-22.04,nvidia-hpc,23.1, ubuntu-22.04,nvidia-hpc,23.11,✓ ubuntu-22.04,nvidia-hpc,23.3,✓ @@ -174,8 +165,6 @@ windows-2019,gcc,10,✓ windows-2019,gcc,11,✓ windows-2019,gcc,12,✓ windows-2019,gcc,13,✓ -windows-2019,gcc,7, -windows-2019,gcc,8,✓ windows-2019,gcc,9,✓ windows-2019,intel-classic,2021.1.2, windows-2019,intel-classic,2021.1, @@ -187,7 +176,7 @@ windows-2019,intel-classic,2021.5, windows-2019,intel-classic,2021.6,✓ windows-2019,intel-classic,2021.7.1, windows-2019,intel-classic,2021.7,✓ -windows-2019,intel-classic,2021.8,✓ +windows-2019,intel-classic,2021.8, windows-2019,intel-classic,2021.9,✓ windows-2019,intel,2021.1.2, windows-2019,intel,2021.1, @@ -197,10 +186,11 @@ windows-2019,intel,2022.0, windows-2019,intel,2022.1,✓ windows-2019,intel,2022.2.1, windows-2019,intel,2022.2,✓ -windows-2019,intel,2023.0,✓ +windows-2019,intel,2023.0, windows-2019,intel,2023.1,✓ windows-2019,intel,2023.2,✓ windows-2019,intel,2024.0,✓ +windows-2019,intel,2024.1,✓ windows-2019,lfortran,0.31.0,✓ windows-2019,lfortran,0.32.0,✓ windows-2019,lfortran,0.33.0,✓ @@ -208,8 +198,6 @@ windows-2022,gcc,10,✓ windows-2022,gcc,11,✓ windows-2022,gcc,12,✓ windows-2022,gcc,13,✓ -windows-2022,gcc,7, -windows-2022,gcc,8,✓ windows-2022,gcc,9,✓ windows-2022,intel-classic,2021.1.2, windows-2022,intel-classic,2021.1, @@ -221,7 +209,7 @@ windows-2022,intel-classic,2021.5, windows-2022,intel-classic,2021.6,✓ windows-2022,intel-classic,2021.7.1, windows-2022,intel-classic,2021.7,✓ -windows-2022,intel-classic,2021.8,✓ +windows-2022,intel-classic,2021.8, windows-2022,intel-classic,2021.9,✓ windows-2022,intel,2021.1.2, windows-2022,intel,2021.1, @@ -231,10 +219,11 @@ windows-2022,intel,2022.0, windows-2022,intel,2022.1,✓ windows-2022,intel,2022.2.1, windows-2022,intel,2022.2,✓ -windows-2022,intel,2023.0,✓ +windows-2022,intel,2023.0, windows-2022,intel,2023.1,✓ windows-2022,intel,2023.2,✓ windows-2022,intel,2024.0,✓ +windows-2022,intel,2024.1,✓ windows-2022,lfortran,0.31.0,✓ windows-2022,lfortran,0.32.0,✓ windows-2022,lfortran,0.33.0,✓ \ No newline at end of file diff --git a/.github/compat/matrix.yml b/.github/compat/matrix.yml index f81d649..4b7b034 100644 --- a/.github/compat/matrix.yml +++ b/.github/compat/matrix.yml @@ -12,8 +12,7 @@ toolchain: - {compiler: gcc, version: 11} - {compiler: gcc, version: 10} - {compiler: gcc, version: 9} - - {compiler: gcc, version: 8} - - {compiler: gcc, version: 7} + - {compiler: intel, version: '2024.1'} - {compiler: intel, version: '2024.0'} - {compiler: intel, version: '2023.2'} - {compiler: intel, version: '2023.1'} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf1e173..21a5bd5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -221,7 +221,7 @@ jobs: default_branch="${{ github.event.repository.default_branch }}" git switch -c "$updated_branch" - git add .github/compat/compat.csv README.md + git add .github/compat/*compat.csv README.md git commit -m "Update compatibility matrix" git push -u origin "$updated_branch" gh pr create -B "$default_branch" -H "$updated_branch" --title "Update compatibility matrix" --body-file .github/compat/compat.md diff --git a/README.md b/README.md index ada3d52..8c6b952 100644 --- a/README.md +++ b/README.md @@ -66,10 +66,11 @@ jobs: ## Options - *compiler*: Compiler toolchain to setup, available options are - - *gcc* (for `gfortran`) - - *intel* (for `ifx`) - - *intel-classic* (for `ifort`) - - *nvidia-hpc* (for `nvfortran`) + - *gcc* for `gfortran` + - *intel* for `ifx` + - *intel-classic* for `ifort` + - *lfortran* for `lfortran` + - *nvidia-hpc* for `nvfortran` - *version*: Version of the compiler toolchain. See [runner compatibility](#runner-compatibility) charts below. - *install_mkl*: If MKL libraries should be installed alongsider the intel compiler. Defaults to `false`. diff --git a/action.yml b/action.yml index d08dce1..55ac03b 100644 --- a/action.yml +++ b/action.yml @@ -46,9 +46,20 @@ runs: path: ${{ env.ONEAPI_ROOT }} key: ${{ runner.os }}-${{ inputs.compiler }}-${{ inputs.version }}-${{ steps.get-date.outputs.date }} - # used to install lfortran on mac - - uses: mamba-org/setup-micromamba@v1 + # Use micromamba for lfortran install on mac. Check if micromamba already + # exists, only install it if needed. If we install it, clean it up after. + - name: Check for micromamba + id: check-umamba if: runner.os == 'macOS' && contains(inputs.compiler, 'lfortran') + shell: bash + run: | + if [ "$(command -v micromamba)" ]; then + echo "install=false" >> $GITHUB_OUTPUT + else + echo "install=true" >> $GITHUB_OUTPUT + fi + - uses: mamba-org/setup-micromamba@v1 + if: runner.os == 'macOS' && contains(inputs.compiler, 'lfortran') && steps.check-umamba.outputs.install == 'true' with: init-shell: bash post-cleanup: 'all' diff --git a/setup-fortran.sh b/setup-fortran.sh index f277c66..5c71207 100755 --- a/setup-fortran.sh +++ b/setup-fortran.sh @@ -225,10 +225,6 @@ intel_version_map_l() esac else case $actual_version in - # 2024 versions omit patch version number in pkg name - 2024.0*) - version=2024.0 - ;; 2022.0.0 | 2022.0) version=2022.0.2 ;; @@ -358,7 +354,10 @@ intel_version_map_w() esac else case $actual_version in - 2024 | 2024.0 | 2024.0.1) + 2024.1 | 2024.1.0) + version=2024.1.0 + ;; + 2024.0 | 2024.0.1) version=2024.0.1 ;; 2023.2 | 2023.1 | 2023.0) @@ -499,6 +498,10 @@ install_intel_win() intel_version_map_w $version $classic case $version in + 2024.1.0) + WINDOWS_HPCKIT_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/c95a3b26-fc45-496c-833b-df08b10297b9/w_HPCKit_p_2024.1.0.561_offline.exe + WINDOWS_HPCKIT_COMPONENTS=intel.oneapi.win.ifort-compiler:intel.oneapi.win.cpp-dpcpp-common + ;; 2024.0.1) WINDOWS_HPCKIT_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/7a6db8a1-a8b9-4043-8e8e-ca54b56c34e4/w_HPCKit_p_2024.0.1.35_offline.exe WINDOWS_HPCKIT_COMPONENTS=intel.oneapi.win.ifort-compiler:intel.oneapi.win.cpp-dpcpp-common