From 8b1a2cddff9252ca5c2c68e722bba629a160171f Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 09:56:31 -0700 Subject: [PATCH 1/9] update --- recipe/meta.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0433aa8..8942a0e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "xarray-dataclasses" %} -{% set version = "1.7.0" %} +{% set version = "1.9.1" %} package: name: {{ name|lower }} @@ -17,13 +17,13 @@ build: requirements: host: - pip - - python >=3.9 + - python >=3.9, <3.14 - poetry run: - - numpy - - python >=3.9 - - typing-extensions >=4.0,<5.0 - - xarray >=2022.3,<2024.0 + - python >=3.9, <3.14 + - numpy >=1.22, <3.0 # [py>=39] + - typing-extensions >=4.0 + - xarray >=2022.3, <2025.0 test: imports: From bc6c2bcb06e709968a34d800ac78ff067b23601d Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:06:08 -0700 Subject: [PATCH 2/9] update --- recipe/meta.yaml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8942a0e..638d353 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,12 +1,13 @@ {% set name = "xarray-dataclasses" %} {% set version = "1.9.1" %} +{% set python_min = "3.9" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz sha256: b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267 build: @@ -17,13 +18,13 @@ build: requirements: host: - pip - - python >=3.9, <3.14 + - python {{ python_min }} - poetry run: - - python >=3.9, <3.14 - - numpy >=1.22, <3.0 # [py>=39] + - python >={{ python_min }} + - numpy >=1.22,<3.0 - typing-extensions >=4.0 - - xarray >=2022.3, <2025.0 + - xarray >=2022.3,<2025.0 test: imports: @@ -33,6 +34,7 @@ test: - pip check requires: - pip + - python {{ python_min }} about: home: https://github.com/astropenguin/xarray-dataclasses/ From 719da52535e7b704e110f8162d5d9b633a1bb795 Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:17:42 -0700 Subject: [PATCH 3/9] update --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 638d353..bda4ab6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -7,8 +7,8 @@ package: version: {{ version }} source: - url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz - sha256: b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267 + url: https://pypi.io/packages/source/{{ name[0]|lower }}/{{ name|lower }}/{{ name|lower }}-{{ version }}.tar.gz + # sha256: b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267 build: noarch: python From b2266fca8e2b7c5c7f55f5f9d94663e8d2b3676d Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:20:06 -0700 Subject: [PATCH 4/9] update --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bda4ab6..3f51f86 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -7,8 +7,8 @@ package: version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0]|lower }}/{{ name|lower }}/{{ name|lower }}-{{ version }}.tar.gz - # sha256: b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267 + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz + sha256: e5e88e10622b2bcb4db6087d636327f6e0311ae66fa10e94ea571805ed6937ad build: noarch: python From 8fb64cb31e267f51a3d2aa841fcd25ec351d32b5 Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:23:48 -0700 Subject: [PATCH 5/9] update sha --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3f51f86..c4ae5ef 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -8,7 +8,7 @@ package: source: url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz - sha256: e5e88e10622b2bcb4db6087d636327f6e0311ae66fa10e94ea571805ed6937ad + sha256: 3590556ef795ebbb33908b484a58311192d880cbb511666fe4c354569c3c468f build: noarch: python From 679bf7d9ee33b537d2c4c674f72b6520beaf3589 Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:30:21 -0700 Subject: [PATCH 6/9] update correct sha --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c4ae5ef..3f51f86 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -8,7 +8,7 @@ package: source: url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xarray_dataclasses-{{ version }}.tar.gz - sha256: 3590556ef795ebbb33908b484a58311192d880cbb511666fe4c354569c3c468f + sha256: e5e88e10622b2bcb4db6087d636327f6e0311ae66fa10e94ea571805ed6937ad build: noarch: python From 810f7dec9f2a9eb370f0b23ae1e7598ad30f6593 Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:40:15 -0700 Subject: [PATCH 7/9] update maintainers --- recipe/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3f51f86..88e352b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -45,3 +45,7 @@ about: extra: recipe-maintainers: - goanpeca + - jdblischak + - LucaMarconato + - melonora + - timtreis From b48a9eb91f33a9234d9c1041e7a78d66e8c7e99a Mon Sep 17 00:00:00 2001 From: giovp Date: Tue, 11 Mar 2025 10:43:47 -0700 Subject: [PATCH 8/9] update maintainer --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 88e352b..77635c4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -49,3 +49,4 @@ extra: - LucaMarconato - melonora - timtreis + - giovp From 71d19e716e9cf7cb0c5f796023e288321410c296 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 17:53:27 +0000 Subject: [PATCH 9/9] MNT: Re-rendered with conda-build 25.1.2, conda-smithy 3.47.0, and conda-forge-pinning 2025.03.11.09.37.43 --- .azure-pipelines/azure-pipelines-linux.yml | 2 +- .ci_support/linux_64_.yaml | 13 +++------- .gitattributes | 4 +-- .github/CODEOWNERS | 2 +- .gitignore | 5 ++++ .scripts/build_steps.sh | 18 ++++++++++---- README.md | 5 ++++ azure-pipelines.yml | 29 ++++++++++++++++++++-- build-locally.py | 16 +++++++++--- 9 files changed, 71 insertions(+), 23 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 875d996..1741648 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,7 +11,7 @@ jobs: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 3166d1d..9964e05 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,15 +1,10 @@ -c_stdlib: -- sysroot -c_stdlib_version: -- '2.12' cdt_name: -- cos6 +- conda channel_sources: - conda-forge channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -zip_keys: -- - c_stdlib_version - - cdt_name +- quay.io/condaforge/linux-anvil-x86_64:alma9 +python_min: +- '3.9' diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 07f1285..7b3259a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @goanpeca \ No newline at end of file +* @LucaMarconato @giovp @goanpeca @jdblischak @melonora @timtreis \ No newline at end of file diff --git a/.gitignore b/.gitignore index 179afe5..47b5408 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,8 @@ /build_artifacts *.pyc + +# Rattler-build's artifacts are in `output` when not specifying anything. +/output +# Pixi's configuration +.pixi diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 2f3df6c..f8051ab 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -31,18 +31,20 @@ pkgs_dirs: solver: libmamba CONDARC +mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) +echo > /opt/conda/conda-meta/history +micromamba install --root-prefix ~/.conda --prefix /opt/conda \ + --yes --override-channels --channel conda-forge --strict-channel-priority \ + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" - # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" source run_conda_forge_build_setup + + # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -69,6 +71,12 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir "${RECIPE_ROOT}" -m "${CONFIG_FILE}" || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/README.md b/README.md index 37fd669..b4a3acd 100644 --- a/README.md +++ b/README.md @@ -143,5 +143,10 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== +* [@LucaMarconato](https://github.com/LucaMarconato/) +* [@giovp](https://github.com/giovp/) * [@goanpeca](https://github.com/goanpeca/) +* [@jdblischak](https://github.com/jdblischak/) +* [@melonora](https://github.com/melonora/) +* [@timtreis](https://github.com/timtreis/) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ad85a2c..d309e84 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -2,5 +2,30 @@ # update the conda-forge.yml and/or the recipe/meta.yaml. # -*- mode: yaml -*- -jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml \ No newline at end of file +stages: +- stage: Check + jobs: + - job: Skip + pool: + vmImage: 'ubuntu-22.04' + variables: + DECODE_PERCENTS: 'false' + RET: 'true' + steps: + - checkout: self + fetchDepth: '2' + - bash: | + git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "` + echo "##vso[task.setvariable variable=log]$git_log" + displayName: Obtain commit message + - bash: echo "##vso[task.setvariable variable=RET]false" + condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) + displayName: Skip build? + - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" + name: result + displayName: Export result +- stage: Build + condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) + dependsOn: Check + jobs: + - template: ./.azure-pipelines/azure-pipelines-linux.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index e0d408d..c4a56c6 100755 --- a/build-locally.py +++ b/build-locally.py @@ -1,13 +1,16 @@ -#!/usr/bin/env python3 +#!/bin/sh +"""exec" "python3" "$0" "$@" #""" # fmt: off # fmt: on # # This file has been generated by conda-smithy in order to build the recipe # locally. # -import os +# The line above this comment is a bash / sh / zsh guard +# to stop people from running it with the wrong interpreter import glob +import os +import platform import subprocess from argparse import ArgumentParser -import platform def setup_environment(ns): @@ -23,6 +26,13 @@ def setup_environment(ns): os.path.dirname(__file__), "miniforge3" ) + # The default cache location might not be writable using docker on macOS. + if ns.config.startswith("linux") and platform.system() == "Darwin": + os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = ( + os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "") + + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache" + ) + def run_docker_build(ns): script = ".scripts/run_docker_build.sh"