Skip to content

Commit 52e642d

Browse files
authored
Merge pull request #32 from fortran-lang/build/update-ci-runners
build/update ci runners
2 parents a456dfd + cddc25f commit 52e642d

File tree

5 files changed

+38
-30
lines changed

5 files changed

+38
-30
lines changed

.github/workflows/wheel.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
sys:
13-
- { os: windows-2019, shell: "msys2 {0}" }
14-
- { os: ubuntu-20.04, shell: bash }
15-
- { os: macos-11, shell: bash }
13+
- { os: windows-2022, shell: "msys2 {0}" }
14+
- { os: ubuntu-22.04, shell: bash }
15+
- { os: macos-14, shell: bash }
16+
- { os: macos-13, shell: bash } # Intel runner
1617
defaults:
1718
run:
1819
shell: ${{ matrix.sys.shell }}
1920
steps:
2021
- uses: actions/checkout@v4
2122
- uses: actions/setup-python@v5
2223
with:
23-
python-version: "3.10"
24+
python-version: "3.11"
2425

2526
- if: runner.os == 'Windows'
2627
uses: msys2/setup-msys2@v2

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ _skbuild/
2121
.coverage
2222
coverage.xml
2323
src/fpm/_version.py
24+
.venv/

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ set(M_CLI2_TAG "7264878cdb1baff7323cc48596d829ccfe7751b8" CACHE STRING "Set git
1515
set(JONQUIL_TAG "4fbd4cf34d577c0fd25e32667ee9e41bf231ece8" CACHE STRING "Set git tag for jonquil")
1616
set(REGEX_TAG "1.1.2" CACHE STRING "Set git tag for Fortran-regex")
1717
set(SHLEX_TAG "1.0.1" CACHE STRING "Set git tag for fortran-shlex")
18-
set(FPM_VERSION "0.10.1" CACHE STRING "Set fpm version e.g. 8.0.0")
18+
set(FPM_VERSION "0.11.0" CACHE STRING "Set fpm version e.g. 8.0.0")
1919
set(FPM_TAG "v${FPM_VERSION}" CACHE STRING "Set git tag for fpm, default is v${FPM_VERSION}")
2020

2121
set(BIN_NAME ${CMAKE_PROJECT_NAME})
@@ -115,7 +115,7 @@ target_compile_definitions(${BIN_NAME} PRIVATE FPM_RELEASE_VERSION=${FPM_VERSION
115115
# globally. This is to circumvent sr/fpm/fpm_release.f90 erroneous lowecase
116116
# file extension.
117117
# Remove in the next fpm release
118-
target_compile_options(${BIN_NAME} PRIVATE "-cpp")
118+
target_compile_options(${BIN_NAME} PRIVATE $<$<COMPILE_LANGUAGE:Fortran>:-cpp>)
119119

120120
if(OpenMP_Fortran_FOUND)
121121
message(STATUS "OpenMP Fortran found: Building fpm for parallel execution")

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ The wheels are generated for the following platforms:
2121

2222
1. Update the git tags and/or git commit IDs in `CMakeLists.txt` for:
2323
[`fpm`](https://github.com/fortran-lang/fpm.git),
24-
[`toml-f`](https://github.com/toml-f/toml-f.git) and
25-
[`M_CLI2`](https://github.com/urbanjost/M_CLI2.git)
24+
[`jonquil`](https://github.com/toml-f/jonquil.git),
25+
[`M_CLI2`](https://github.com/urbanjost/M_CLI2.git),
26+
[`fortran-regex`](https://github.com/perazz/fortran-regex.git) and
27+
[`fortran-shlex`](https://github.com/perazz/fortran-shlex.git).
2628
2. Update the `docs/README.md` with the README file of the fpm project
27-
3. Update the paths and flags in `pyproject.toml`'s
28-
`[tool.cibuildwheel.overrides.environment]` table for `FC` and `LDFLAGS`
29-
to match those printed by `tools/wheels/cibw_before_build_macos.sh` when
30-
run on a GitHub runner.
31-
4. Commit the changes via a pull-request to `main` and ask one of the admins
29+
3. Commit the changes via a pull-request to `main` and ask one of the admins
3230
to merge it.
33-
5. Admins: Issue a new release on GitHub with the same version number as
31+
4. Admins: Issue a new release on GitHub with the same version number as
3432
in `pyproject.toml` using the prefix `v` e.g. `v0.1.0`.
3533

3634
## Development Instructions

pyproject.toml

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[build-system]
22
requires = [
3-
"setuptools>=67.0.0",
3+
"setuptools>=80",
44
"scikit-build>=0.16.7",
5-
"cmake>=3.20.0",
5+
"cmake>=4.1.0",
66
"ninja",
77
"setuptools_scm>=8",
88
]
99
build-backend = "setuptools.build_meta"
1010

1111
[project]
1212
name = "fpm"
13-
license = { text = "MIT License" }
13+
license = "MIT"
1414
authors = [{ name = "fpm maintainers" }]
1515
requires-python = ">=3.7"
1616
description = "Fortran package manager"
@@ -19,7 +19,6 @@ keywords = ["fpm", "fortran", "package manager"]
1919
classifiers = [
2020
"Development Status :: 3 - Alpha",
2121
"Intended Audience :: Developers",
22-
"License :: OSI Approved :: MIT License",
2322
"Operating System :: OS Independent",
2423
"Programming Language :: Fortran",
2524
"Topic :: Software Development :: Build Tools",
@@ -38,23 +37,32 @@ bug-tracker = "https://github.com/fortran-lang/fpm/issues"
3837
write_to = "src/fpm/_version.py"
3938

4039
[tool.cibuildwheel]
41-
build = "cp310-*"
42-
build-verbosity = "3"
40+
build = "cp311-*"
41+
build-verbosity = 3
4342

4443
[tool.cibuildwheel.macos]
45-
archs = ["x86_64", "arm64"]
46-
environment = { CC = "clang", CXX = "clang++", FC = "gfortran-11" }
44+
archs = ["auto"]
45+
environment = { CC = "clang", CXX = "clang++", FC = "gfortran-12", PATH = "/opt/homebrew/bin:/usr/local/bin:$PATH" }
46+
before-all = "brew install gcc@12"
4747

4848
[[tool.cibuildwheel.overrides]]
4949
select = "*-macosx_arm64"
50-
before-build = "bash {project}/tools/wheels/cibw_before_build_macos.sh {project}"
51-
52-
# Override the default environment variables with the cross-compiled ones
53-
[tool.cibuildwheel.overrides.environment]
54-
CC = "clang"
55-
CXX = "clang++"
56-
FC = "/opt/gfortran-darwin-arm64-cross/bin/arm64-apple-darwin20.0.0-gfortran"
57-
LDFLAGS = "-L/opt/gfortran-darwin-arm64-cross/lib/gcc/arm64-apple-darwin20.0.0/11.3.0 -Wl,-rpath,/opt/gfortran-darwin-arm64-cross/lib/gcc/arm64-apple-darwin20.0.0/11.3.0"
50+
environment = { MACOSX_DEPLOYMENT_TARGET = "14.0", FC = "/opt/homebrew/bin/gfortran-12" }
51+
52+
[[tool.cibuildwheel.overrides]]
53+
select = "*-macosx_x86_64"
54+
environment = { MACOSX_DEPLOYMENT_TARGET = "13.0", FC = "/usr/local/bin/gfortran-12" }
55+
56+
# [[tool.cibuildwheel.overrides]]
57+
# select = "*-macosx_arm64"
58+
# before-build = "bash {project}/tools/wheels/cibw_before_build_macos.sh {project}"
59+
60+
# # Override the default environment variables with the cross-compiled ones
61+
# [tool.cibuildwheel.overrides.environment]
62+
# CC = "clang"
63+
# CXX = "clang++"
64+
# FC = "/opt/gfortran-darwin-arm64-cross/bin/arm64-apple-darwin20.0.0-gfortran"
65+
# LDFLAGS = "-L/opt/gfortran-darwin-arm64-cross/lib/gcc/arm64-apple-darwin20.0.0/11.3.0 -Wl,-rpath,/opt/gfortran-darwin-arm64-cross/lib/gcc/arm64-apple-darwin20.0.0/11.3.0"
5866

5967
[tool.cibuildwheel.windows]
6068
archs = ["auto64"]

0 commit comments

Comments
 (0)