Skip to content

Commit

Permalink
Sync fork (#19)
Browse files Browse the repository at this point in the history
* fix(mac/lfortran): only install micromamba if needed (fortran-lang#79)

* docs(readme): mention lfortran in compiler option section (fortran-lang#80)

* ci: include long_compat.csv in autoupdate prs (fortran-lang#85)

* Update compatibility matrix (fortran-lang#86)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* refactor(gcc): drop support for gcc 7 and 8 (fortran-lang#83)

These have patchy availability. And anyways, the oldest release series still receiving support is 11, so there may be an argument for dropping 9 and 10, but I will leave that for later.

In any case, nothing prevents trying unsupported versions, but we will no longer test them or make guarantees. This frees up room in the test matrix, which is capped at 256 jobs

* feat(intel): support intel 2024.1 on linux and windows (fortran-lang#84)

---------

Co-authored-by: wpbonelli <wbonelli@ucar.edu>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Apr 9, 2024
1 parent bcd830b commit 0ceb65f
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 37 deletions.
35 changes: 12 additions & 23 deletions .github/compat/long_compat.csv
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ macos-12,gcc,10,&check;
macos-12,gcc,11,&check;
macos-12,gcc,12,&check;
macos-12,gcc,13,&check;
macos-12,gcc,7,&check;
macos-12,gcc,8,&check;
macos-12,gcc,9,&check;
macos-12,intel-classic,2021.1.2,
macos-12,intel-classic,2021.1,&check;
Expand All @@ -14,7 +12,7 @@ macos-12,intel-classic,2021.3,&check;
macos-12,intel-classic,2021.4,&check;
macos-12,intel-classic,2021.5,&check;
macos-12,intel-classic,2021.6,&check;
macos-12,intel-classic,2021.7.1,&check;
macos-12,intel-classic,2021.7.1,
macos-12,intel-classic,2021.7,&check;
macos-12,intel-classic,2021.8,&check;
macos-12,intel-classic,2021.9,&check;
Expand All @@ -25,8 +23,6 @@ macos-13,gcc,10,&check;
macos-13,gcc,11,&check;
macos-13,gcc,12,&check;
macos-13,gcc,13,&check;
macos-13,gcc,7,
macos-13,gcc,8,
macos-13,intel-classic,2021.1.2,
macos-13,intel-classic,2021.1,&check;
macos-13,intel-classic,2021.10,&check;
Expand All @@ -35,7 +31,7 @@ macos-13,intel-classic,2021.3,&check;
macos-13,intel-classic,2021.4,&check;
macos-13,intel-classic,2021.5,&check;
macos-13,intel-classic,2021.6,&check;
macos-13,intel-classic,2021.7.1,&check;
macos-13,intel-classic,2021.7.1,
macos-13,intel-classic,2021.7,&check;
macos-13,intel-classic,2021.8,&check;
macos-13,intel-classic,2021.9,&check;
Expand All @@ -45,7 +41,6 @@ macos-13,lfortran,0.33.0,&check;
macos-14,gcc,11,&check;
macos-14,gcc,12,&check;
macos-14,gcc,13,&check;
macos-14,gcc,7,
macos-14,intel-classic,2021.1.2,
macos-14,intel-classic,2021.1,&check;
macos-14,intel-classic,2021.10,&check;
Expand All @@ -54,7 +49,7 @@ macos-14,intel-classic,2021.3,&check;
macos-14,intel-classic,2021.4,&check;
macos-14,intel-classic,2021.5,&check;
macos-14,intel-classic,2021.6,&check;
macos-14,intel-classic,2021.7.1,&check;
macos-14,intel-classic,2021.7.1,
macos-14,intel-classic,2021.7,&check;
macos-14,intel-classic,2021.8,&check;
macos-14,intel-classic,2021.9,&check;
Expand All @@ -65,8 +60,6 @@ ubuntu-20.04,gcc,10,&check;
ubuntu-20.04,gcc,11,&check;
ubuntu-20.04,gcc,12,
ubuntu-20.04,gcc,13,&check;
ubuntu-20.04,gcc,7,&check;
ubuntu-20.04,gcc,8,&check;
ubuntu-20.04,gcc,9,&check;
ubuntu-20.04,intel-classic,2021.1.2,&check;
ubuntu-20.04,intel-classic,2021.1,&check;
Expand All @@ -92,6 +85,7 @@ ubuntu-20.04,intel,2023.0,&check;
ubuntu-20.04,intel,2023.1,&check;
ubuntu-20.04,intel,2023.2,&check;
ubuntu-20.04,intel,2024.0,&check;
ubuntu-20.04,intel,2024.1,&check;
ubuntu-20.04,lfortran,0.31.0,&check;
ubuntu-20.04,lfortran,0.32.0,&check;
ubuntu-20.04,lfortran,0.33.0,&check;
Expand Down Expand Up @@ -121,8 +115,6 @@ ubuntu-22.04,gcc,10,&check;
ubuntu-22.04,gcc,11,&check;
ubuntu-22.04,gcc,12,&check;
ubuntu-22.04,gcc,13,&check;
ubuntu-22.04,gcc,7,
ubuntu-22.04,gcc,8,
ubuntu-22.04,gcc,9,&check;
ubuntu-22.04,intel-classic,2021.1.2,&check;
ubuntu-22.04,intel-classic,2021.1,&check;
Expand All @@ -148,6 +140,7 @@ ubuntu-22.04,intel,2023.0,&check;
ubuntu-22.04,intel,2023.1,&check;
ubuntu-22.04,intel,2023.2,&check;
ubuntu-22.04,intel,2024.0,&check;
ubuntu-22.04,intel,2024.1,&check;
ubuntu-22.04,lfortran,0.31.0,&check;
ubuntu-22.04,lfortran,0.32.0,&check;
ubuntu-22.04,lfortran,0.33.0,&check;
Expand All @@ -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,&check;
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,&check;
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,&check;
ubuntu-22.04,nvidia-hpc,23.3,&check;
Expand All @@ -174,8 +165,6 @@ windows-2019,gcc,10,&check;
windows-2019,gcc,11,&check;
windows-2019,gcc,12,&check;
windows-2019,gcc,13,&check;
windows-2019,gcc,7,
windows-2019,gcc,8,&check;
windows-2019,gcc,9,&check;
windows-2019,intel-classic,2021.1.2,
windows-2019,intel-classic,2021.1,
Expand All @@ -187,7 +176,7 @@ windows-2019,intel-classic,2021.5,
windows-2019,intel-classic,2021.6,&check;
windows-2019,intel-classic,2021.7.1,
windows-2019,intel-classic,2021.7,&check;
windows-2019,intel-classic,2021.8,&check;
windows-2019,intel-classic,2021.8,
windows-2019,intel-classic,2021.9,&check;
windows-2019,intel,2021.1.2,
windows-2019,intel,2021.1,
Expand All @@ -197,19 +186,18 @@ windows-2019,intel,2022.0,
windows-2019,intel,2022.1,&check;
windows-2019,intel,2022.2.1,
windows-2019,intel,2022.2,&check;
windows-2019,intel,2023.0,&check;
windows-2019,intel,2023.0,
windows-2019,intel,2023.1,&check;
windows-2019,intel,2023.2,&check;
windows-2019,intel,2024.0,&check;
windows-2019,intel,2024.1,&check;
windows-2019,lfortran,0.31.0,&check;
windows-2019,lfortran,0.32.0,&check;
windows-2019,lfortran,0.33.0,&check;
windows-2022,gcc,10,&check;
windows-2022,gcc,11,&check;
windows-2022,gcc,12,&check;
windows-2022,gcc,13,&check;
windows-2022,gcc,7,
windows-2022,gcc,8,&check;
windows-2022,gcc,9,&check;
windows-2022,intel-classic,2021.1.2,
windows-2022,intel-classic,2021.1,
Expand All @@ -221,7 +209,7 @@ windows-2022,intel-classic,2021.5,
windows-2022,intel-classic,2021.6,&check;
windows-2022,intel-classic,2021.7.1,
windows-2022,intel-classic,2021.7,&check;
windows-2022,intel-classic,2021.8,&check;
windows-2022,intel-classic,2021.8,
windows-2022,intel-classic,2021.9,&check;
windows-2022,intel,2021.1.2,
windows-2022,intel,2021.1,
Expand All @@ -231,10 +219,11 @@ windows-2022,intel,2022.0,
windows-2022,intel,2022.1,&check;
windows-2022,intel,2022.2.1,
windows-2022,intel,2022.2,&check;
windows-2022,intel,2023.0,&check;
windows-2022,intel,2023.0,
windows-2022,intel,2023.1,&check;
windows-2022,intel,2023.2,&check;
windows-2022,intel,2024.0,&check;
windows-2022,intel,2024.1,&check;
windows-2022,lfortran,0.31.0,&check;
windows-2022,lfortran,0.32.0,&check;
windows-2022,lfortran,0.33.0,&check;
3 changes: 1 addition & 2 deletions .github/compat/matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand Down
15 changes: 13 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
13 changes: 8 additions & 5 deletions setup-fortran.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
;;
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 0ceb65f

Please sign in to comment.