From 0500baf2c19b46f83f8a4c4a5da7ae0fbd98bba7 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Mon, 15 Apr 2024 14:30:24 -0500 Subject: [PATCH 01/18] some updates on latest commit --- recipe/build.sh | 9 ++------- recipe/meta.yaml | 39 +++++++++++++++++++++------------------ recipe/run_test.sh | 7 +------ 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index bc1d142..795f6b4 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -16,11 +16,6 @@ fi #export VERBOSE=1 ${PYTHON} install.py --prefix="${PREFIX}" \ --build_type="Release" \ - --dont-allow-milps \ - --deps-root="${PREFIX}" \ - --core-version="${PKG_VERSION}" \ - -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_VERSION_MIN}" \ - -DBLAS_LIBRARIES="-L${PREFIX}/lib -lopenblas" \ - -DLAPACK_LIBRARIES="-L${PREFIX}/lib -lopenblas" \ + --allow-milps \ ${skiprpath} \ - --clean -j "${CPU_COUNT}" + --clean-build -j "${CPU_COUNT}" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 52df595..9deb8c3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,13 +1,13 @@ {% set version = "1.5.5" %} -{% set sha256 = "1fdfd5019a0b423259d91d77c9c8969bc3c2be59a3a13731904331a3257ac05f" %} +{% set sha256 = "167F972DC7F0B21E2C10138F5A8DDEEE0B446CC33935CE20905AE40356B682EC" %} package: name: cyclus version: {{ version }} source: - fn: cyclus-{{ version }}-{{ sha256 }}.tar.gz - url: https://github.com/cyclus/cyclus/archive/{{ version }}.tar.gz + fn: cyclus-{{ version }}-{{ sha256 }}.zip + url: https://github.com/cyclus/cyclus/archive/ecc59260649705d72b4d9f5151911a0efbbd9202.zip sha256: {{ sha256 }} build: @@ -23,37 +23,39 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} host: - - coincbc <2.9.10 - - boost-cpp <1.69 - - libxmlpp + - coincbc + - boost-cpp + - libxmlpp-4.0 - libxml2 + - liblapack - hdf5 - - glibmm - - glib 2.56 - - python + - glib + - python-dev - jinja2 - pandas - - cython # [ not (py36 and osx) ] - - cython <0.28 # [ py36 and osx ] + - cython + - pip + - setuptools run: - - python - - {{ pin_compatible("boost-cpp", max_pin="x.x.x") }} - - {{ pin_compatible("coincbc", max_pin="x.x.x") }} + - python-dev + - boost-cpp + - coincbc - sqlite - hdf5 - - libxmlpp + - libxmlpp-4.0 - libxml2 - - glibmm - - glib 2.56 + - liblapack + - glib - pandas - jinja2 - pytables + - pprintpp test: requires: - {{ compiler('c') }} - {{ compiler('cxx') }} - - nose + - pytest source_files: - tests @@ -71,3 +73,4 @@ extra: - katyhuff - FlanFlanagan - stompsjo + - bennibbelink diff --git a/recipe/run_test.sh b/recipe/run_test.sh index 5e39c21..7f304f5 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -29,9 +29,4 @@ ${PREFIX}/bin/cyclus_unit_tests # run integration tests export PYTHONWARNINGS="ignore" -nosetests cycpp_tests.py -nosetests test_include_recipe.py -nosetests test_null_sink.py test_source_to_sink.py -nosetests test_trivial_cycle.py test_inventories.py -nosetests test_minimal_cycle.py -nosetests test_cycluslib.py +python -m pytest From 0531d6e371b78e015d315013f9e9b0753c0e696a Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Mon, 15 Apr 2024 14:37:01 -0500 Subject: [PATCH 02/18] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.1, and conda-forge-pinning 2024.04.15.13.20.16 --- .azure-pipelines/azure-pipelines-linux.yml | 36 ++++---- .azure-pipelines/azure-pipelines-osx.yml | 82 ----------------- .ci_support/README | 7 +- .ci_support/linux_64_.yaml | 37 ++++++++ .ci_support/linux_python3.6.yaml | 26 ------ .ci_support/linux_python3.7.yaml | 26 ------ .ci_support/linux_python3.8.yaml | 26 ------ .ci_support/migrations/boost172.yaml | 11 --- .ci_support/migrations/python38.yaml | 55 ------------ .circleci/config.yml | 5 +- .gitattributes | 4 +- .github/CODEOWNERS | 2 +- .gitignore | 25 +++++- .scripts/build_steps.sh | 64 +++++++++++-- .scripts/logging_utils.sh | 35 ++++++++ .scripts/run_docker_build.sh | 61 ++++++++++--- LICENSE.txt | 32 +++++-- README.md | 100 ++++++++++----------- build-locally.py | 49 +++++++++- 19 files changed, 352 insertions(+), 331 deletions(-) delete mode 100755 .azure-pipelines/azure-pipelines-osx.yml create mode 100644 .ci_support/linux_64_.yaml delete mode 100644 .ci_support/linux_python3.6.yaml delete mode 100644 .ci_support/linux_python3.7.yaml delete mode 100644 .ci_support/linux_python3.8.yaml delete mode 100644 .ci_support/migrations/boost172.yaml delete mode 100644 .ci_support/migrations/python38.yaml create mode 100644 .scripts/logging_utils.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 8d08dd1..875d996 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -5,23 +5,16 @@ jobs: - job: linux pool: - vmImage: ubuntu-16.04 - timeoutInMinutes: 360 + vmImage: ubuntu-latest strategy: - maxParallel: 8 matrix: - linux_python3.6: - CONFIG: linux_python3.6 - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7: - CONFIG: linux_python3.7 - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.8: - CONFIG: linux_python3.8 - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 + linux_64_: + CONFIG: linux_64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + timeoutInMinutes: 360 + variables: {} + steps: # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static @@ -33,8 +26,19 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi .scripts/run_docker_build.sh displayName: Run docker build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml deleted file mode 100755 index 776c766..0000000 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ /dev/null @@ -1,82 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: osx - pool: - vmImage: macOS-10.13 - timeoutInMinutes: 360 - strategy: - maxParallel: 8 - matrix: - osx_python3.6: - CONFIG: osx_python3.6 - UPLOAD_PACKAGES: True - osx_python3.7: - CONFIG: osx_python3.7 - UPLOAD_PACKAGES: True - osx_python3.8: - CONFIG: osx_python3.8 - UPLOAD_PACKAGES: True - - steps: - # TODO: Fast finish on azure pipelines? - - script: | - echo "Fast Finish" - - - - script: | - echo "Removing homebrew from Azure to avoid conflicts." - curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew - chmod +x ~/uninstall_homebrew - ~/uninstall_homebrew -fq - rm ~/uninstall_homebrew - displayName: Remove homebrew - - - bash: | - echo "##vso[task.prependpath]$CONDA/bin" - sudo chown -R $USER $CONDA - displayName: Add conda to PATH - - - script: | - source activate base - conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - displayName: 'Add conda-forge-ci-setup=2' - - - script: | - source activate base - echo "Configuring conda." - - setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml - export CI=azure - source run_conda_forge_build_setup - conda update --yes --quiet --override-channels -c conda-forge -c defaults --all - env: { - OSX_FORCE_SDK_DOWNLOAD: "1" - } - displayName: Configure conda and conda-build - - - script: | - source activate base - mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Mangle compiler - - - script: | - source activate base - make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Generate build number clobber file - - - script: | - source activate base - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - displayName: Build recipe - - - script: | - source activate base - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Upload package - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) \ No newline at end of file diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml new file mode 100644 index 0000000..2079b30 --- /dev/null +++ b/.ci_support/linux_64_.yaml @@ -0,0 +1,37 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +coincbc: +- '2.10' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +glib: +- '2' +hdf5: +- 1.14.3 +liblapack: +- 3.9 *netlib +libxml2: +- '2' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_python3.6.yaml b/.ci_support/linux_python3.6.yaml deleted file mode 100644 index 5a600bd..0000000 --- a/.ci_support/linux_python3.6.yaml +++ /dev/null @@ -1,26 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '7' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '7' -docker_image: -- condaforge/linux-anvil-comp7 -hdf5: -- 1.10.5 -libxml2: -- '2.9' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- '3.6' diff --git a/.ci_support/linux_python3.7.yaml b/.ci_support/linux_python3.7.yaml deleted file mode 100644 index b5c2cae..0000000 --- a/.ci_support/linux_python3.7.yaml +++ /dev/null @@ -1,26 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '7' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '7' -docker_image: -- condaforge/linux-anvil-comp7 -hdf5: -- 1.10.5 -libxml2: -- '2.9' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- '3.7' diff --git a/.ci_support/linux_python3.8.yaml b/.ci_support/linux_python3.8.yaml deleted file mode 100644 index eae9058..0000000 --- a/.ci_support/linux_python3.8.yaml +++ /dev/null @@ -1,26 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '7' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '7' -docker_image: -- condaforge/linux-anvil-comp7 -hdf5: -- 1.10.5 -libxml2: -- '2.9' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- '3.8' diff --git a/.ci_support/migrations/boost172.yaml b/.ci_support/migrations/boost172.yaml deleted file mode 100644 index fc75110..0000000 --- a/.ci_support/migrations/boost172.yaml +++ /dev/null @@ -1,11 +0,0 @@ -migrator_ts: 1582183745 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 -boost_cpp: - - 1.72 - diff --git a/.ci_support/migrations/python38.yaml b/.ci_support/migrations/python38.yaml deleted file mode 100644 index b11022c..0000000 --- a/.ci_support/migrations/python38.yaml +++ /dev/null @@ -1,55 +0,0 @@ -migrator_ts: 1569538102 # The timestamp of when the migration was made -__migrator: - kind: - version - exclude: - - c_compiler - - vc - - cxx_compiler - migration_number: # Only use this if the bot messes up, putting this in will cause a complete rerun of the migration - 1 - bump_number: 0 - -python: - - 2.7 - - 3.6 - - 3.7 - - 3.8 - -c_compiler: - # legacy compilers for things that refuse to move - - toolchain_c # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gcc # [linux64] - - clang # [osx] - # non-standard arches get built with gcc - - gcc # [aarch64] - - gcc # [ppc64le] - - gcc # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -cxx_compiler: - # legacy compilers for things that refuse to move - - toolchain_cxx # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gxx # [linux64] - - clangxx # [osx] - - - gxx # [aarch64] - - gxx # [ppc64le] - - gxx # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -vc: # [win] - - 9 # [win] - - 14 # [win] - - 14 # [win] - - 14 # [win] diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,13 +1,14 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- +# -*- mode: jinja-yaml -*- version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.gitattributes b/.gitattributes index ac943c1..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true @@ -17,7 +18,8 @@ bld.bat text eol=crlf .gitattributes linguist-generated=true .gitignore linguist-generated=true .travis.yml linguist-generated=true -.scripts linguist-generated=true +.scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ae09570..20a2398 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @FlanFlanagan @bam241 @gonuke @katyhuff @scopatz @stompsjo \ No newline at end of file +* @FlanFlanagan @bam241 @bennibbelink @gonuke @katyhuff @scopatz @stompsjo \ No newline at end of file diff --git a/.gitignore b/.gitignore index c89ecb7..179afe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# Don't ignore any files/folders if the parent folder is 'un-ignored' +# This also avoids warnings when adding an already-checked file with an ignored parent. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 8a4af44..2f3df6c 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -5,9 +5,18 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +# -*- mode: jinja-shell -*- + set -xeuo pipefail -export PYTHONUNBUFFERED=1 export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" @@ -15,11 +24,19 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc <=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}" @@ -29,11 +46,44 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + +( endgroup "Configuring conda" ) 2> /dev/null + +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" fi +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + + # Drop into an interactive shell + /bin/bash +else + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --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 "Validating outputs" ) 2> /dev/null + + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi + + ( endgroup "Uploading packages" ) 2> /dev/null +fi + +( startgroup "Final checks" ) 2> /dev/null + touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh new file mode 100644 index 0000000..aff009f --- /dev/null +++ b/.scripts/logging_utils.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Provide a unified interface for the different logging +# utilities CI providers offer. If unavailable, provide +# a compatible fallback (e.g. bare `echo xxxxxx`). + +function startgroup { + # Start a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[group]$1";; + travis ) + echo "$1" + echo -en 'travis_fold:start:'"${1// /}"'\r';; + github_actions ) + echo "::group::$1";; + * ) + echo "$1";; + esac +} 2> /dev/null + +function endgroup { + # End a foldable group of log lines + # Pass a single argument, quoted + + case ${CI:-} in + azure ) + echo "##[endgroup]";; + travis ) + echo -en 'travis_fold:end:'"${1// /}"'\r';; + github_actions ) + echo "::endgroup::";; + esac +} 2> /dev/null diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 066a857..00f377a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -5,14 +5,28 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +source .scripts/logging_utils.sh + +( startgroup "Configure Docker" ) 2> /dev/null + set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -41,10 +55,14 @@ fi if [ -z "${DOCKER_IMAGE}" ]; then SHYAML_INSTALLED="$(shyaml -h || echo NO)" if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" + DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" + fi else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" fi fi @@ -52,24 +70,45 @@ mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it " + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ - $DOCKER_IMAGE \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ + -e BINSTAR_TOKEN \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index cba42cf..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +BSD-3-Clause license +Copyright (c) 2015-2022, conda-forge contributors All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index 624b528..a7ef1cf 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,14 @@ -About cyclus -============ +About cyclus-feedstock +====================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/ben_cyclus-feedstock/blob/main/LICENSE.txt) Home: http://fuelcycle.org/ Package license: BSD 3-clause -Feedstock license: BSD 3-Clause - Summary: The agent-based fuel cycle simulator. - - Current build status ==================== @@ -22,31 +20,17 @@ Current build status
- - + + - - - - - - - + @@ -55,24 +39,6 @@ Current build status - - - - - - - - - - - -
VariantStatus
linux_python3.6 - - variant - -
linux_python3.7 - - variant - -
linux_python3.8linux_64 - - variant + + variant
OSX - OSX disabled -
Windows - Windows disabled -
Linux_ppc64le - ppc64le disabled -
Current release info @@ -89,25 +55,52 @@ Installing `cyclus` from the `conda-forge` channel can be achieved by adding `co ``` conda config --add channels conda-forge +conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `cyclus` can be installed with: +Once the `conda-forge` channel has been enabled, `cyclus` can be installed with `conda`: ``` conda install cyclus ``` -It is possible to list all of the versions of `cyclus` available on your platform with: +or with `mamba`: + +``` +mamba install cyclus +``` + +It is possible to list all of the versions of `cyclus` available on your platform with `conda`: ``` conda search cyclus --channel conda-forge ``` +or with `mamba`: + +``` +mamba search cyclus --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search cyclus --channel conda-forge + +# List packages depending on `cyclus`: +mamba repoquery whoneeds cyclus --channel conda-forge + +# List dependencies of `cyclus`: +mamba repoquery depends cyclus --channel conda-forge +``` + About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the @@ -117,10 +110,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. @@ -159,9 +154,9 @@ build distinct package versions. In order to produce a uniquely identifiable distribution: * If the version of a package **is not** being increased, please add or increase - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string). + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). * If the version of a package **is** being increased, please remember to return - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) back to 0. Feedstock Maintainers @@ -169,6 +164,7 @@ Feedstock Maintainers * [@FlanFlanagan](https://github.com/FlanFlanagan/) * [@bam241](https://github.com/bam241/) +* [@bennibbelink](https://github.com/bennibbelink/) * [@gonuke](https://github.com/gonuke/) * [@katyhuff](https://github.com/katyhuff/) * [@scopatz](https://github.com/scopatz/) diff --git a/build-locally.py b/build-locally.py index 8f7ecca..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -7,11 +7,21 @@ import glob import subprocess from argparse import ArgumentParser +import platform def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" + if ns.debug: + os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" + if ns.output_id: + os.environ["BUILD_OUTPUT_ID"] = ns.output_id + if "MINIFORGE_HOME" not in os.environ: + os.environ["MINIFORGE_HOME"] = os.path.join( + os.path.dirname(__file__), "miniforge3" + ) def run_docker_build(ns): @@ -19,6 +29,11 @@ def run_docker_build(ns): subprocess.check_call([script]) +def run_osx_build(ns): + script = ".scripts/run_osx_build.sh" + subprocess.check_call([script]) + + def verify_config(ns): valid_configs = { os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") @@ -42,21 +57,49 @@ def verify_config(ns): else: raise ValueError("config " + ns.config + " is not valid") # Remove the following, as implemented - if not ns.config.startswith("linux"): + if ns.config.startswith("win"): raise ValueError( - f"only Linux configs currently supported, got {ns.config}" + f"only Linux/macOS configs currently supported, got {ns.config}" ) + elif ns.config.startswith("osx"): + if "OSX_SDK_DIR" not in os.environ: + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." + ) def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--debug", + action="store_true", + help="Setup debug environment using `conda debug`", + ) + p.add_argument( + "--output-id", help="If running debug, specify the output to setup." + ) ns = p.parse_args(args=args) verify_config(ns) setup_environment(ns) - run_docker_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From f93a6fd4798f0ba2a31abf82061c6931ec8cd58f Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Mon, 15 Apr 2024 18:12:37 -0500 Subject: [PATCH 03/18] builds but fails tests --- recipe/build.sh | 2 ++ recipe/meta.yaml | 38 ++++++++++++++++++++++++++++---------- recipe/run_test.sh | 3 +++ 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 795f6b4..a413913 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -18,4 +18,6 @@ ${PYTHON} install.py --prefix="${PREFIX}" \ --build_type="Release" \ --allow-milps \ ${skiprpath} \ + -DCMAKE_C_COMPILER=${GCC} \ + -DCMAKE_CXX_COMPILER=${CXX} \ --clean-build -j "${CPU_COUNT}" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9deb8c3..9961d9e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "1.5.5" %} -{% set sha256 = "167F972DC7F0B21E2C10138F5A8DDEEE0B446CC33935CE20905AE40356B682EC" %} +{% set sha256 = "e800b637aab5ab96eb940eb34467833b4b2fa6bc49c5704e71f9af8729eb382f" %} package: name: cyclus @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 0 skip: True # [win or osx or py<=27] detect_binary_files_with_prefix: true preserve_egg_dir: True @@ -19,35 +19,53 @@ build: requirements: build: - cmake + - make - pkg-config - {{ compiler('c') }} - {{ compiler('cxx') }} - host: - coincbc - boost-cpp - libxmlpp-4.0 - libxml2 - liblapack - hdf5 + - sqlite - glib - - python-dev - - jinja2 + - python - pandas + - jinja2 - cython - pip - setuptools - run: - - python-dev - - boost-cpp + host: - coincbc - - sqlite + - boost-cpp + - libxmlpp-4.0 + - libxml2 + - liblapack + - blis - hdf5 + - sqlite + - glib + - python + - pandas + - python + - pytables + - pprintpp + - cython + run: + - coincbc + - boost-cpp - libxmlpp-4.0 - libxml2 - liblapack + - blis + - hdf5 + - sqlite - glib + - python - pandas - - jinja2 + - python - pytables - pprintpp diff --git a/recipe/run_test.sh b/recipe/run_test.sh index 7f304f5..833a5a4 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -23,6 +23,9 @@ ${PREFIX}/bin/cyclus --build-path ${PREFIX}/bin/cyclus --rng-schema ${PREFIX}/bin/cyclus --nuc-data +export LD_LIBRARY_PATH=${PREFIX}/lib:${PREFIX}/lib/cyclus +export PYTHONPATH=${SP_DIR} + # run unit tests ${PREFIX}/bin/cyclus_unit_tests From f00346540c8ba187da62f3001ce7bfb028771b64 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Tue, 16 Apr 2024 19:07:19 -0500 Subject: [PATCH 04/18] this is passing locally --- recipe/build.sh | 12 +++++++++++- recipe/meta.yaml | 7 +++---- recipe/run_test.sh | 13 ++++++++++--- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index a413913..ebea2c0 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -20,4 +20,14 @@ ${PYTHON} install.py --prefix="${PREFIX}" \ ${skiprpath} \ -DCMAKE_C_COMPILER=${GCC} \ -DCMAKE_CXX_COMPILER=${CXX} \ - --clean-build -j "${CPU_COUNT}" + -Dsite_packages="\${SP_DIR}" \ + --clean-build -j 4 #"${CPU_COUNT}" + +mkdir ${SP_DIR}/cyclus +cp ${SRC_DIR}/build/cyclus/*.py ${SP_DIR}/cyclus/ +cp ${SRC_DIR}/build/cyclus/*.so ${SP_DIR}/cyclus/ +cp ${SRC_DIR}/build/lib/eventhooks.so ${SP_DIR}/eventhooks.so +cp ${SRC_DIR}/build/lib/pyinfile.so ${SP_DIR}/pyinfile.so +cp ${SRC_DIR}/build/lib/pymodule.so ${SP_DIR}/pymodule.so +cp ${SRC_DIR}/src/hdf5_back_gen.py ${SP_DIR}/hdf5_back_gen.py +cp ${SRC_DIR}/build/cyclus/cycpp.py ${SP_DIR}/cycpp.py \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9961d9e..9bb85de 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "1.5.5" %} -{% set sha256 = "e800b637aab5ab96eb940eb34467833b4b2fa6bc49c5704e71f9af8729eb382f" %} +{% set sha256 = "fba779b9973f3546448cf787a19b68fe33c489ad4895a6e1030f0b685c4a26d1" %} package: name: cyclus @@ -7,7 +7,7 @@ package: source: fn: cyclus-{{ version }}-{{ sha256 }}.zip - url: https://github.com/cyclus/cyclus/archive/ecc59260649705d72b4d9f5151911a0efbbd9202.zip + url: https://github.com/bennibbelink/cyclus/archive/refs/heads/rpath-origin.zip sha256: {{ sha256 }} build: @@ -50,7 +50,6 @@ requirements: - python - pandas - python - - pytables - pprintpp - cython run: @@ -66,7 +65,6 @@ requirements: - python - pandas - python - - pytables - pprintpp test: @@ -74,6 +72,7 @@ test: - {{ compiler('c') }} - {{ compiler('cxx') }} - pytest + - pytables source_files: - tests diff --git a/recipe/run_test.sh b/recipe/run_test.sh index 833a5a4..d8837c9 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -22,9 +22,16 @@ ${PREFIX}/bin/cyclus --cmake-module-path ${PREFIX}/bin/cyclus --build-path ${PREFIX}/bin/cyclus --rng-schema ${PREFIX}/bin/cyclus --nuc-data +ls ${PREFIX}/bin +echo here1 +ls ${PREFIX}/lib +echo here2 +ls ${SP_DIR} +echo here3 +ls ${SP_DIR}/cyclus -export LD_LIBRARY_PATH=${PREFIX}/lib:${PREFIX}/lib/cyclus -export PYTHONPATH=${SP_DIR} +export LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib/cyclus:${SP_DIR}" +export PYTHONPATH="${SP_DIR}" # run unit tests ${PREFIX}/bin/cyclus_unit_tests @@ -32,4 +39,4 @@ ${PREFIX}/bin/cyclus_unit_tests # run integration tests export PYTHONWARNINGS="ignore" -python -m pytest +python -m pytest --ignore hdf5_back_gen_test.py --ignore test_hdf5_back_gen.py From b30b3acaedc885e7012e04a326f2e1faa1dc5d04 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 16 Apr 2024 20:17:31 -0500 Subject: [PATCH 05/18] passing all tests on my fork --- recipe/build.sh | 10 ++-------- recipe/meta.yaml | 6 +++--- recipe/run_test.sh | 5 +---- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index ebea2c0..352fe8b 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -20,14 +20,8 @@ ${PYTHON} install.py --prefix="${PREFIX}" \ ${skiprpath} \ -DCMAKE_C_COMPILER=${GCC} \ -DCMAKE_CXX_COMPILER=${CXX} \ - -Dsite_packages="\${SP_DIR}" \ - --clean-build -j 4 #"${CPU_COUNT}" + -DPYTHON_SITE_PACKAGES="${SP_DIR}" \ + --clean-build -j "${CPU_COUNT}" -mkdir ${SP_DIR}/cyclus -cp ${SRC_DIR}/build/cyclus/*.py ${SP_DIR}/cyclus/ -cp ${SRC_DIR}/build/cyclus/*.so ${SP_DIR}/cyclus/ -cp ${SRC_DIR}/build/lib/eventhooks.so ${SP_DIR}/eventhooks.so -cp ${SRC_DIR}/build/lib/pyinfile.so ${SP_DIR}/pyinfile.so -cp ${SRC_DIR}/build/lib/pymodule.so ${SP_DIR}/pymodule.so cp ${SRC_DIR}/src/hdf5_back_gen.py ${SP_DIR}/hdf5_back_gen.py cp ${SRC_DIR}/build/cyclus/cycpp.py ${SP_DIR}/cycpp.py \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9bb85de..22eaa7e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "1.5.5" %} -{% set sha256 = "fba779b9973f3546448cf787a19b68fe33c489ad4895a6e1030f0b685c4a26d1" %} +{% set sha256 = "e6628c1e91378f22a5b395f8901248b8459fc6a0efdbed60ce368066a5a28525" %} package: name: cyclus @@ -7,7 +7,7 @@ package: source: fn: cyclus-{{ version }}-{{ sha256 }}.zip - url: https://github.com/bennibbelink/cyclus/archive/refs/heads/rpath-origin.zip + url: https://github.com/bennibbelink/cyclus/archive/refs/heads/pyinstall-cmake.zip sha256: {{ sha256 }} build: @@ -75,6 +75,7 @@ test: - pytables source_files: - tests + - share/dbtypes.json about: home: http://fuelcycle.org/ @@ -90,4 +91,3 @@ extra: - katyhuff - FlanFlanagan - stompsjo - - bennibbelink diff --git a/recipe/run_test.sh b/recipe/run_test.sh index d8837c9..3fc89c8 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -30,13 +30,10 @@ ls ${SP_DIR} echo here3 ls ${SP_DIR}/cyclus -export LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib/cyclus:${SP_DIR}" -export PYTHONPATH="${SP_DIR}" - # run unit tests ${PREFIX}/bin/cyclus_unit_tests # run integration tests export PYTHONWARNINGS="ignore" -python -m pytest --ignore hdf5_back_gen_test.py --ignore test_hdf5_back_gen.py +python -m pytest From 30d2b42fedc7f0ef5aa27b87425ec6aac980bd8a Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 16 Apr 2024 20:21:43 -0500 Subject: [PATCH 06/18] get rid of debugging lines --- recipe/recipe-scripts-license.txt | 27 +++++++++++++++++++++++++++ recipe/run_test.sh | 10 ---------- 2 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 recipe/recipe-scripts-license.txt diff --git a/recipe/recipe-scripts-license.txt b/recipe/recipe-scripts-license.txt new file mode 100644 index 0000000..2ec51d7 --- /dev/null +++ b/recipe/recipe-scripts-license.txt @@ -0,0 +1,27 @@ +BSD-3-Clause license +Copyright (c) 2015-2022, conda-forge contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/recipe/run_test.sh b/recipe/run_test.sh index 3fc89c8..ad29a7f 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -22,18 +22,8 @@ ${PREFIX}/bin/cyclus --cmake-module-path ${PREFIX}/bin/cyclus --build-path ${PREFIX}/bin/cyclus --rng-schema ${PREFIX}/bin/cyclus --nuc-data -ls ${PREFIX}/bin -echo here1 -ls ${PREFIX}/lib -echo here2 -ls ${SP_DIR} -echo here3 -ls ${SP_DIR}/cyclus # run unit tests ${PREFIX}/bin/cyclus_unit_tests -# run integration tests -export PYTHONWARNINGS="ignore" - python -m pytest From dd9973b94c98ce0c94f22ae2656fc431256a5dd9 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Tue, 16 Apr 2024 21:46:36 -0500 Subject: [PATCH 07/18] working without any cp in build --- recipe/build.sh | 3 --- recipe/meta.yaml | 3 ++- recipe/recipe-scripts-license.txt | 27 --------------------------- 3 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 recipe/recipe-scripts-license.txt diff --git a/recipe/build.sh b/recipe/build.sh index 352fe8b..9f42300 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -22,6 +22,3 @@ ${PYTHON} install.py --prefix="${PREFIX}" \ -DCMAKE_CXX_COMPILER=${CXX} \ -DPYTHON_SITE_PACKAGES="${SP_DIR}" \ --clean-build -j "${CPU_COUNT}" - -cp ${SRC_DIR}/src/hdf5_back_gen.py ${SP_DIR}/hdf5_back_gen.py -cp ${SRC_DIR}/build/cyclus/cycpp.py ${SP_DIR}/cycpp.py \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 22eaa7e..bfebf94 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "1.5.5" %} -{% set sha256 = "e6628c1e91378f22a5b395f8901248b8459fc6a0efdbed60ce368066a5a28525" %} +{% set sha256 = "20d9451f59a608e70c93a21c22bc3081f9a1982d90ab50c2effb17fc5cbde577" %} package: name: cyclus @@ -76,6 +76,7 @@ test: source_files: - tests - share/dbtypes.json + - src/hdf5_back_gen.py about: home: http://fuelcycle.org/ diff --git a/recipe/recipe-scripts-license.txt b/recipe/recipe-scripts-license.txt deleted file mode 100644 index 2ec51d7..0000000 --- a/recipe/recipe-scripts-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -BSD-3-Clause license -Copyright (c) 2015-2022, conda-forge contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. From b7d502ba858f73f93b2839e6df6bab25fb4b6528 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Tue, 16 Apr 2024 22:18:57 -0500 Subject: [PATCH 08/18] remove --clean-build flag --- recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index 9f42300..dd54f14 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -21,4 +21,4 @@ ${PYTHON} install.py --prefix="${PREFIX}" \ -DCMAKE_C_COMPILER=${GCC} \ -DCMAKE_CXX_COMPILER=${CXX} \ -DPYTHON_SITE_PACKAGES="${SP_DIR}" \ - --clean-build -j "${CPU_COUNT}" + -j "${CPU_COUNT}" From 776d3409e415d6e1d42d4675ddd8222edf85d3b6 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Tue, 16 Apr 2024 22:21:06 -0500 Subject: [PATCH 09/18] update boost dependency --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bfebf94..e04649d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - coincbc - - boost-cpp + - libboost-devel - libxmlpp-4.0 - libxml2 - liblapack @@ -39,7 +39,7 @@ requirements: - setuptools host: - coincbc - - boost-cpp + - libboost-devel - libxmlpp-4.0 - libxml2 - liblapack @@ -54,7 +54,7 @@ requirements: - cython run: - coincbc - - boost-cpp + - libboost-devel - libxmlpp-4.0 - libxml2 - liblapack From c67e29874b84c4252fca366194c080e47635254d Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Tue, 16 Apr 2024 22:23:31 -0500 Subject: [PATCH 10/18] fix license type --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e04649d..e054774 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -80,7 +80,7 @@ test: about: home: http://fuelcycle.org/ - license: BSD 3-clause + license: BSD-3-clause license_file: LICENSE.rst summary: "The agent-based fuel cycle simulator." From c0fb23d3574ce4ec649dd4aaeb2d6a7fb5d2f815 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 03:29:32 +0000 Subject: [PATCH 11/18] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.1, and conda-forge-pinning 2024.04.16.19.44.50 --- .azure-pipelines/azure-pipelines-linux.yml | 16 ++++++- .../linux_64_python3.10.____cpython.yaml | 47 +++++++++++++++++++ .../linux_64_python3.11.____cpython.yaml | 47 +++++++++++++++++++ ...ml => linux_64_python3.8.____cpython.yaml} | 10 ++++ .../linux_64_python3.9.____cpython.yaml | 47 +++++++++++++++++++ .github/CODEOWNERS | 2 +- README.md | 36 ++++++++++---- 7 files changed, 194 insertions(+), 11 deletions(-) create mode 100644 .ci_support/linux_64_python3.10.____cpython.yaml create mode 100644 .ci_support/linux_64_python3.11.____cpython.yaml rename .ci_support/{linux_64_.yaml => linux_64_python3.8.____cpython.yaml} (79%) create mode 100644 .ci_support/linux_64_python3.9.____cpython.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 875d996..a91ca83 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,8 +8,20 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_: - CONFIG: linux_64_ + linux_64_python3.10.____cpython: + CONFIG: linux_64_python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_python3.11.____cpython: + CONFIG: linux_64_python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_python3.8.____cpython: + CONFIG: linux_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_python3.9.____cpython: + CONFIG: linux_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml new file mode 100644 index 0000000..26e08d6 --- /dev/null +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -0,0 +1,47 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +coincbc: +- '2.10' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +glib: +- '2' +hdf5: +- 1.14.3 +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +libxml2: +- '2' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +sqlite: +- '3' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml new file mode 100644 index 0000000..bb0fc7e --- /dev/null +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -0,0 +1,47 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +coincbc: +- '2.10' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +glib: +- '2' +hdf5: +- 1.14.3 +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +libxml2: +- '2' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +sqlite: +- '3' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml similarity index 79% rename from .ci_support/linux_64_.yaml rename to .ci_support/linux_64_python3.8.____cpython.yaml index 2079b30..f501746 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -24,10 +24,20 @@ glib: - '2' hdf5: - 1.14.3 +libboost_devel: +- '1.82' liblapack: - 3.9 *netlib libxml2: - '2' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +sqlite: +- '3' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..192acce --- /dev/null +++ b/.ci_support/linux_64_python3.9.____cpython.yaml @@ -0,0 +1,47 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +coincbc: +- '2.10' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +glib: +- '2' +hdf5: +- 1.14.3 +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +libxml2: +- '2' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +sqlite: +- '3' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 20a2398..ae09570 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @FlanFlanagan @bam241 @bennibbelink @gonuke @katyhuff @scopatz @stompsjo \ No newline at end of file +* @FlanFlanagan @bam241 @gonuke @katyhuff @scopatz @stompsjo \ No newline at end of file diff --git a/README.md b/README.md index a7ef1cf..bf741d9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ About cyclus-feedstock ====================== -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/ben_cyclus-feedstock/blob/main/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cyclus-feedstock/blob/main/LICENSE.txt) Home: http://fuelcycle.org/ -Package license: BSD 3-clause +Package license: BSD-3-clause Summary: The agent-based fuel cycle simulator. @@ -20,17 +20,38 @@ Current build status
- - + + - + + + + + + + + + + @@ -164,7 +185,6 @@ Feedstock Maintainers * [@FlanFlanagan](https://github.com/FlanFlanagan/) * [@bam241](https://github.com/bam241/) -* [@bennibbelink](https://github.com/bennibbelink/) * [@gonuke](https://github.com/gonuke/) * [@katyhuff](https://github.com/katyhuff/) * [@scopatz](https://github.com/scopatz/) From 637fcc8b06fca64742830c73412b3e223cee6315 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Mon, 22 Apr 2024 10:34:27 -0500 Subject: [PATCH 12/18] reference git repo main branch --- recipe/meta.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e054774..4737c05 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -6,9 +6,8 @@ package: version: {{ version }} source: - fn: cyclus-{{ version }}-{{ sha256 }}.zip - url: https://github.com/bennibbelink/cyclus/archive/refs/heads/pyinstall-cmake.zip - sha256: {{ sha256 }} + git_url: https://github.com/cyclus/cyclus.git + git_rev: main build: number: 0 From 6fd5bad97a25e7657f99ef315814cc12d168f4ab Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Mon, 22 Apr 2024 10:57:22 -0500 Subject: [PATCH 13/18] remove sha and update version --- recipe/meta.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4737c05..561ce1c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,4 @@ -{% set version = "1.5.5" %} -{% set sha256 = "20d9451f59a608e70c93a21c22bc3081f9a1982d90ab50c2effb17fc5cbde577" %} +{% set version = "1.6.0" %} package: name: cyclus From 3c6f65e9c5a8a745b24d91e8cace9535de6b0736 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 30 Apr 2024 18:46:46 -0500 Subject: [PATCH 14/18] Update meta.yaml to reference release candidate --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 561ce1c..c293494 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -6,7 +6,7 @@ package: source: git_url: https://github.com/cyclus/cyclus.git - git_rev: main + git_rev: 1.6.0-rc1 build: number: 0 From 0669c2f0c6b3cdaae9342e35d7b29898e630c6ff Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sat, 4 May 2024 12:46:42 -0500 Subject: [PATCH 15/18] reference 1.6.0 release --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c293494..e457dab 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -6,7 +6,7 @@ package: source: git_url: https://github.com/cyclus/cyclus.git - git_rev: 1.6.0-rc1 + git_rev: 1.6.0 build: number: 0 From 79a6aca26466ef2231747a6b193e43ca42c10a41 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sat, 4 May 2024 12:47:01 -0500 Subject: [PATCH 16/18] add bennibbelink to list of maintainers --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e457dab..b23ef32 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -90,3 +90,4 @@ extra: - katyhuff - FlanFlanagan - stompsjo + - bennibbelink From 1a9fe5b838deaffa612c84a74df7548f7f040f41 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sat, 4 May 2024 12:51:34 -0500 Subject: [PATCH 17/18] fix SPDX identifier and add stdlib(c) as a build dependency --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b23ef32..529fa21 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,6 +19,7 @@ requirements: - cmake - make - pkg-config + - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - coincbc @@ -78,7 +79,7 @@ test: about: home: http://fuelcycle.org/ - license: BSD-3-clause + license: BSD-3-Clause license_file: LICENSE.rst summary: "The agent-based fuel cycle simulator." From cae281fb3325d80c7b44103343d5909ac8e2a9c2 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sat, 4 May 2024 13:12:23 -0500 Subject: [PATCH 18/18] remove --build-type flag in build.sh and run tests using PYTHON env var --- recipe/build.sh | 1 - recipe/run_test.sh | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index dd54f14..ab80d5f 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -15,7 +15,6 @@ fi # Install Cyclus #export VERBOSE=1 ${PYTHON} install.py --prefix="${PREFIX}" \ - --build_type="Release" \ --allow-milps \ ${skiprpath} \ -DCMAKE_C_COMPILER=${GCC} \ diff --git a/recipe/run_test.sh b/recipe/run_test.sh index ad29a7f..658163d 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -1,6 +1,4 @@ #!/bin/sh -# setup env for tests -cd tests # check that the files exist test -f ${PREFIX}/bin/cyclus @@ -26,4 +24,5 @@ ${PREFIX}/bin/cyclus --nuc-data # run unit tests ${PREFIX}/bin/cyclus_unit_tests -python -m pytest +cd tests +${PYTHON} -m pytest
VariantStatus
linux_64linux_64_python3.10.____cpython - - variant + + variant + +
linux_64_python3.11.____cpython + + variant + +
linux_64_python3.8.____cpython + + variant + +
linux_64_python3.9.____cpython + + variant