From 884ad7f8ebfbb139a37d74a8342bed1ed4d9664a Mon Sep 17 00:00:00 2001 From: Tim Snyder Date: Mon, 25 Nov 2024 11:05:16 -0600 Subject: [PATCH 1/3] Fix typo in State class doc --- sparta/sparta/simulation/State.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sparta/sparta/simulation/State.hpp b/sparta/sparta/simulation/State.hpp index 9b4351878a..be1cc0cf1d 100644 --- a/sparta/sparta/simulation/State.hpp +++ b/sparta/sparta/simulation/State.hpp @@ -113,7 +113,7 @@ namespace sparta * only value at a time. * * State classes take two template parameters: the Enum type (enum - * class or just standard enum) and the anticapted maximum number + * class or just standard enum) and the anticipated maximum number * of markers that will be requested -- default is 13. Because * the State class is in the critical path for most performance * modeling applications, use of STL types is discouraged. From 9a1c4beb2cf6da15b427352dc27d333d879be929 Mon Sep 17 00:00:00 2001 From: Knute Lingaard Date: Wed, 27 Nov 2024 14:19:45 -0600 Subject: [PATCH 2/3] Updated CI environment --- .azure-pipelines/azure-pipelines-osx.yml | 2 +- .ci_support/linux_64_.yaml | 4 +-- .ci_support/osx_64_.yaml | 8 ++--- .ci_support/osx_arm64_.yaml | 8 ++--- .circleci/config.yml | 2 +- .scripts/build_steps.sh | 16 +++++---- .scripts/run_osx_build.sh | 45 +++++++++++++++--------- azure-pipelines.yml | 29 +++++++++++++-- conda.recipe/conda_build_config.yaml | 2 +- 9 files changed, 77 insertions(+), 39 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index e7684a4f5c..acfd133642 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-12 + vmImage: macOS-13 strategy: matrix: osx_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 3aacb735f4..6bc80589c6 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '13' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 hdf5: - 1.14.3 linux_clang_version: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 5b8851063d..0c2d00686e 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,13 +1,13 @@ MACOSX_DEPLOYMENT_TARGET: -- '11.1' +- '13' MACOSX_SDK_VERSION: -- '11.1' +- '13' boost: - '1.78' c_compiler: - clang c_compiler_version: -- '17' +- '18' channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '17' +- '18' hdf5: - 1.14.3 macos_machine: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 31881fcccc..c24f0d047d 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,13 +1,13 @@ MACOSX_DEPLOYMENT_TARGET: -- '11.1' +- '13' MACOSX_SDK_VERSION: -- '11.1' +- '13' boost: - '1.78' c_compiler: - clang c_compiler_version: -- '17' +- '18' channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '17' +- '18' hdf5: - 1.14.3 macos_machine: diff --git a/.circleci/config.yml b/.circleci/config.yml index 15a7db477e..d4c78769cc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: environment: - CONFIG: "linux_64_" - UPLOAD_PACKAGES: "False" - DOCKER_IMAGE: "quay.io/condaforge/linux-anvil-cos7-x86_64" + DOCKER_IMAGE: "quay.io/condaforge/linux-anvil-x86_64:alma9" steps: - checkout - run: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 705694c60f..3c2f6176dc 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}" @@ -71,8 +73,8 @@ else --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.6.0 - command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + # 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 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 5d33eb88d7..d2fc5890a8 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -7,28 +7,39 @@ source .scripts/logging_utils.sh set -xe MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} +MINIFORGE_HOME=${MINIFORGE_HOME%/} # remove trailing slash -( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" -curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -rm -rf ${MINIFORGE_HOME} -bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} - -( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null +( startgroup "Provisioning base env with micromamba" ) 2> /dev/null +MICROMAMBA_VERSION="1.5.10-0" +if [[ "$(uname -m)" == "arm64" ]]; then + osx_arch="osx-arm64" +else + osx_arch="osx-64" +fi +MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}" +MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)" +echo "Downloading micromamba ${MICROMAMBA_VERSION}" +micromamba_exe="$(mktemp -d)/micromamba" +curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}" +chmod +x "${micromamba_exe}" +echo "Creating environment" +"${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ + --channel conda-forge \ + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" +mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" +echo "Cleaning up micromamba" +rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true +( endgroup "Provisioning base env with micromamba" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null - -source ${MINIFORGE_HOME}/etc/profile.d/conda.sh +echo "Activating environment" +source "${MINIFORGE_HOME}/etc/profile.d/conda.sh" conda activate base export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --quiet --yes --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" + @@ -84,8 +95,8 @@ else ( startgroup "Inspecting artifacts" ) 2> /dev/null - # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 - command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + # 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 ./conda.recipe -m ./.ci_support/${CONFIG}.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" ( endgroup "Inspecting artifacts" ) 2> /dev/null diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5baab3e5b8..a13f0ae283 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-osx.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-osx.yml \ No newline at end of file diff --git a/conda.recipe/conda_build_config.yaml b/conda.recipe/conda_build_config.yaml index 91e134c23f..ac08e00e89 100644 --- a/conda.recipe/conda_build_config.yaml +++ b/conda.recipe/conda_build_config.yaml @@ -25,7 +25,7 @@ macos_machine: # [osx] - arm64-apple-darwin20.0.0 # [osx and arm64] MACOSX_DEPLOYMENT_TARGET: # [osx] - - 11.1 # [osx] + - 13 # [osx] # linux_clang_version is not a part of zip_keys # from conda-forge, if you want to, you can From 55398c775bafdaa1cadc1bc486f3a4a178e65985 Mon Sep 17 00:00:00 2001 From: Knute Lingaard Date: Wed, 27 Nov 2024 15:29:06 -0600 Subject: [PATCH 3/3] Bumped macos SDK --- .ci_support/osx_64_.yaml | 4 ++-- .ci_support/osx_arm64_.yaml | 4 ++-- conda.recipe/conda_build_config.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 0c2d00686e..689a527954 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,7 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '13' +- '14.5' MACOSX_SDK_VERSION: -- '13' +- '14.5' boost: - '1.78' c_compiler: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index c24f0d047d..97b9a26a21 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,7 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '13' +- '14.5' MACOSX_SDK_VERSION: -- '13' +- '14.5' boost: - '1.78' c_compiler: diff --git a/conda.recipe/conda_build_config.yaml b/conda.recipe/conda_build_config.yaml index ac08e00e89..e686a9efd8 100644 --- a/conda.recipe/conda_build_config.yaml +++ b/conda.recipe/conda_build_config.yaml @@ -25,7 +25,7 @@ macos_machine: # [osx] - arm64-apple-darwin20.0.0 # [osx and arm64] MACOSX_DEPLOYMENT_TARGET: # [osx] - - 13 # [osx] + - 14.5 # [osx] # linux_clang_version is not a part of zip_keys # from conda-forge, if you want to, you can