diff --git a/.github/workflows/build_workflow.yml b/.github/workflows/build_workflow.yml index 79a2e1c2b..b77f31e2c 100644 --- a/.github/workflows/build_workflow.yml +++ b/.github/workflows/build_workflow.yml @@ -26,7 +26,8 @@ on: env: CANCEL_OTHERS: false PATHS_IGNORE: '["**/README.md", "**/docs/**"]' - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.14" + BUILD_PYTHON_VERSION: "3.13" jobs: pre-commit-hooks: @@ -61,7 +62,7 @@ jobs: shell: bash -l {0} strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - uses: actions/checkout@v5 @@ -69,33 +70,34 @@ jobs: - name: Create Build Environment uses: mamba-org/setup-micromamba@v2 with: - environment-name: mpas_tools_dev + environment-name: mpas_tools_build init-shell: bash condarc: | channel_priority: strict channels: - conda-forge create-args: >- - python=${{ matrix.python-version }} + python=${{ env.BUILD_PYTHON_VERSION }} - - name: Finalize Build Environment + - name: Build mpas_tools package run: | conda install conda conda-build conda build -m "conda_package/ci/linux_64_python${{ matrix.python-version }}.____cpython.yaml" "conda_package/recipe" + # Add local build channel first for subsequent micromamba usage + micromamba config append channels "$CONDA_PREFIX/conda-bld" + micromamba config append channels conda-forge - - name: Install mpas_tools + - name: Create Test Environment run: | - conda install -y -c ${CONDA_PREFIX}/conda-bld/ \ - mpas_tools python=${{ matrix.python-version }} \ - sphinx mock sphinx_rtd_theme + micromamba create -y -n mpas_tools_test \ + python=${{ env.BUILD_PYTHON_VERSION }} \ + mpas_tools \ + sphinx \ + mock \ + sphinx_rtd_theme - name: Build Sphinx Docs run: | + micromamba activate mpas_tools_test cd conda_package/docs DOCS_VERSION=test make versioned-html - condarc: | - channel_priority: strict - channels: - - conda-forge - create-args: >- - python=${{ matrix.python-version }} diff --git a/.github/workflows/docs_workflow.yml b/.github/workflows/docs_workflow.yml index ba9126257..5c715be9f 100644 --- a/.github/workflows/docs_workflow.yml +++ b/.github/workflows/docs_workflow.yml @@ -9,7 +9,7 @@ on: types: [published] env: - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.14" jobs: publish-docs: diff --git a/.github/workflows/pre_commit_update_workflow.yml b/.github/workflows/pre_commit_update_workflow.yml index 4a588746d..efda894cd 100644 --- a/.github/workflows/pre_commit_update_workflow.yml +++ b/.github/workflows/pre_commit_update_workflow.yml @@ -14,7 +14,7 @@ on: env: UP_TO_DATE: false - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.14" REVIEWERS: "xylar,andrewdnolan" jobs: diff --git a/conda_package/ci/linux_64_python3.10.____cpython.yaml b/conda_package/ci/linux_64_python3.10.____cpython.yaml index 11ce265e6..895781497 100644 --- a/conda_package/ci/linux_64_python3.10.____cpython.yaml +++ b/conda_package/ci/linux_64_python3.10.____cpython.yaml @@ -2,8 +2,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -21,7 +19,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 netcdf_fortran: - '4.6' pin_run_as_build: diff --git a/conda_package/ci/linux_64_python3.11.____cpython.yaml b/conda_package/ci/linux_64_python3.11.____cpython.yaml index 4f411537b..20259457b 100644 --- a/conda_package/ci/linux_64_python3.11.____cpython.yaml +++ b/conda_package/ci/linux_64_python3.11.____cpython.yaml @@ -2,8 +2,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -21,7 +19,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 netcdf_fortran: - '4.6' pin_run_as_build: diff --git a/conda_package/ci/linux_64_python3.12.____cpython.yaml b/conda_package/ci/linux_64_python3.12.____cpython.yaml index d93028a95..59414c4e1 100644 --- a/conda_package/ci/linux_64_python3.12.____cpython.yaml +++ b/conda_package/ci/linux_64_python3.12.____cpython.yaml @@ -2,8 +2,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -21,7 +19,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 netcdf_fortran: - '4.6' pin_run_as_build: diff --git a/conda_package/ci/linux_64_python3.13.____cpython.yaml b/conda_package/ci/linux_64_python3.13.____cpython.yaml index a3d36aae6..4489de008 100644 --- a/conda_package/ci/linux_64_python3.13.____cpython.yaml +++ b/conda_package/ci/linux_64_python3.13.____cpython.yaml @@ -2,8 +2,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -21,7 +19,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 netcdf_fortran: - '4.6' pin_run_as_build: diff --git a/conda_package/ci/linux_64_python3.14.____cpython.yaml b/conda_package/ci/linux_64_python3.14.____cpython.yaml new file mode 100644 index 000000000..920dadcf6 --- /dev/null +++ b/conda_package/ci/linux_64_python3.14.____cpython.yaml @@ -0,0 +1,35 @@ +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '14' +hdf5: +- 1.14.6 +libnetcdf: +- 4.9.3 +netcdf_fortran: +- '4.6' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314 +target_platform: +- linux-64 +zip_keys: +- - cxx_compiler_version + - fortran_compiler_version diff --git a/conda_package/ci/osx_64_python3.10.____cpython.yaml b/conda_package/ci/osx_64_python3.10.____cpython.yaml index f0e0e306a..b2d86a3bd 100644 --- a/conda_package/ci/osx_64_python3.10.____cpython.yaml +++ b/conda_package/ci/osx_64_python3.10.____cpython.yaml @@ -21,7 +21,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 llvm_openmp: - '19' macos_machine: diff --git a/conda_package/ci/osx_64_python3.11.____cpython.yaml b/conda_package/ci/osx_64_python3.11.____cpython.yaml index ccaa997f4..b1d2e320b 100644 --- a/conda_package/ci/osx_64_python3.11.____cpython.yaml +++ b/conda_package/ci/osx_64_python3.11.____cpython.yaml @@ -21,7 +21,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 llvm_openmp: - '19' macos_machine: diff --git a/conda_package/ci/osx_64_python3.12.____cpython.yaml b/conda_package/ci/osx_64_python3.12.____cpython.yaml index 767aa4e5a..7f9af2205 100644 --- a/conda_package/ci/osx_64_python3.12.____cpython.yaml +++ b/conda_package/ci/osx_64_python3.12.____cpython.yaml @@ -21,7 +21,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 llvm_openmp: - '19' macos_machine: diff --git a/conda_package/ci/osx_64_python3.13.____cpython.yaml b/conda_package/ci/osx_64_python3.13.____cpython.yaml index 1fa8eb76d..6e4aa3029 100644 --- a/conda_package/ci/osx_64_python3.13.____cpython.yaml +++ b/conda_package/ci/osx_64_python3.13.____cpython.yaml @@ -21,7 +21,7 @@ fortran_compiler_version: hdf5: - 1.14.6 libnetcdf: -- 4.9.2 +- 4.9.3 llvm_openmp: - '19' macos_machine: diff --git a/conda_package/ci/osx_64_python3.14.____cpython.yaml b/conda_package/ci/osx_64_python3.14.____cpython.yaml new file mode 100644 index 000000000..5b17a6611 --- /dev/null +++ b/conda_package/ci/osx_64_python3.14.____cpython.yaml @@ -0,0 +1,41 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '14' +hdf5: +- 1.14.6 +libnetcdf: +- 4.9.3 +llvm_openmp: +- '19' +macos_machine: +- x86_64-apple-darwin13.4.0 +netcdf_fortran: +- '4.6' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314 +target_platform: +- osx-64 +zip_keys: +- - cxx_compiler_version + - fortran_compiler_version diff --git a/conda_package/pyproject.toml b/conda_package/pyproject.toml index ea1520574..aa7afadb5 100644 --- a/conda_package/pyproject.toml +++ b/conda_package/pyproject.toml @@ -44,6 +44,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent",