Skip to content

Commit 4bb65d2

Browse files
committed
Use semver
1 parent 8821f57 commit 4bb65d2

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

.github/compat/compat.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
compiler,gcc,gcc,gcc,gcc,gcc,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,lfortran,lfortran,lfortran,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc
2-
version,10,11,12,13,9,2021.1,2021.1.2,2021.2,2021.4,2022.0,2022.1,2022.2,2022.2.1,2023.0,2023.1,2023.2,2024.0,2024.1,2021.1,2021.1.2,2021.10,2021.11,2021.12,2021.2,2021.3,2021.4,2021.5,2021.6,2021.7,2021.7.1,2021.8,2021.9,0.31.0,0.32.0,0.33.0,20.11,21.11,22.11,23.11,23.3,23.5,23.7,23.9
2+
version,9,10,11,12,13,2021.1,2021.1.2,2021.2,2021.4,2022.0,2022.1,2022.2,2022.2.1,2023.0,2023.1,2023.2,2024.0,2024.1,2021.1,2021.1.2,2021.2,2021.3,2021.4,2021.5,2021.6,2021.7,2021.7.1,2021.8,2021.9,2021.10,2021.11,2021.12,0.31.0,0.32.0,0.33.0,20.11,21.11,22.11,23.3,23.5,23.7,23.9,23.11
33
runner,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4-
macos-12,✓,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
5-
macos-13,✓,✓,✓,✓,,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
6-
macos-14,,✓,✓,✓,,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
7-
ubuntu-20.04,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
8-
ubuntu-22.04,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
9-
windows-2019,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,✓,✓,✓,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,,
10-
windows-2022,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,✓,✓,✓,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,,
4+
macos-12,✓,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
5+
macos-13,,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
6+
macos-14,,,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
7+
ubuntu-20.04,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
8+
ubuntu-22.04,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
9+
windows-2019,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,✓,✓,,,✓,✓,✓,✓,✓,✓,✓,,,,,,,,
10+
windows-2022,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,✓,✓,,,✓,✓,✓,✓,✓,✓,✓,,,,,,,,

.github/compat/wide_compat_reports.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from pathlib import Path
77
import pandas as pd
8+
import semver
89
import sys
910

1011
ip = Path(sys.argv[1]) # input file path
@@ -16,7 +17,7 @@
1617
# read long CSV
1718
df = pd.read_csv(ip)
1819

19-
# pivot and sort
20+
# pivot and sort index by runner
2021
df = pd.pivot_table(
2122
df,
2223
index="runner",
@@ -26,6 +27,25 @@
2627
aggfunc="first",
2728
).sort_values(by=["runner"])
2829

30+
# group by compiler and sort by versions
31+
grouped_versions = {}
32+
for compiler in df.columns.get_level_values("compiler").unique():
33+
versions = df.loc[:, (compiler,)].columns.get_level_values("version").unique()
34+
# Parse and sort versions using semver
35+
versions = sorted(
36+
versions,
37+
key=lambda x: semver.VersionInfo.parse(x, optional_minor_and_patch=True),
38+
)
39+
grouped_versions[compiler] = versions
40+
41+
sorted_columns = []
42+
for compiler in grouped_versions:
43+
sorted_columns.extend(
44+
[(compiler, version) for version in grouped_versions[compiler]]
45+
)
46+
47+
df = df[sorted_columns]
48+
2949
# write wide CSV
3050
df.to_csv(op)
3151

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
pandas
2-
tabulate
2+
semver
3+
tabulate

0 commit comments

Comments
 (0)