diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml
index fac2879..46fc60d 100644
--- a/.ci_support/linux_64_.yaml
+++ b/.ci_support/linux_64_.yaml
@@ -3,7 +3,7 @@ channel_sources:
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
+- quay.io/condaforge/linux-anvil-x86_64:alma10
pin_run_as_build:
python:
min_pin: x.x
diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml
index fe4baaf..ef38c48 100644
--- a/.github/workflows/conda-build.yml
+++ b/.github/workflows/conda-build.yml
@@ -23,80 +23,89 @@ jobs:
matrix:
include:
- CONFIG: linux_64_
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10
STORE_BUILD_ARTIFACTS: False
UPLOAD_PACKAGES: True
+ build_workspace_dir: build_artifacts
+ docker_run_args:
+ free_disk_space: skip
os: ubuntu
+ pagefile_size: 0
+ resize_partitions: False
runs_on: ['ubuntu-latest']
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
tools_install_dir: ~/miniforge3
- build_workspace_dir: build_artifacts
- docker_run_args:
steps:
- name: Checkout code
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ - name: Configure binfmt_misc
+ if: matrix.os == 'ubuntu'
+ shell: bash
+ run: |
+ if [[ "$(uname -m)" == "x86_64" ]]; then
+ docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
+ fi
- name: Build on Linux
id: build-linux
if: matrix.os == 'ubuntu'
env:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ CI: github_actions
CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
+ CONDA_FORGE_DOCKER_RUN_ARGS: ${{ matrix.docker_run_args }}
CONFIG: ${{ matrix.CONFIG }}
- UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }}
- CI: github_actions
- CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.docker_run_args }}"
+ UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
shell: bash
run: |
- if [[ "$(uname -m)" == "x86_64" ]]; then
- echo "::group::Configure binfmt_misc"
- docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
- fi
+ export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
+ export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
+ export GIT_BRANCH="${GITHUB_REF_NAME}"
+ export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
export flow_run_id="github_$GITHUB_RUN_ID"
export remote_url="https://github.com/$GITHUB_REPOSITORY"
export sha="$GITHUB_SHA"
- export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
- export GIT_BRANCH="$(basename $GITHUB_REF)"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
export IS_PR_BUILD="True"
else
export IS_PR_BUILD="False"
fi
- export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
- export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
- echo "::endgroup::"
./.scripts/run_docker_build.sh
- name: Build on macOS
id: build-macos
if: matrix.os == 'macos'
env:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ CI: github_actions
CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
CONFIG: ${{ matrix.CONFIG }}
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
- CI: github_actions
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
shell: bash
run: |
+ export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
+ export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
+ export GIT_BRANCH="${GITHUB_REF_NAME}"
+ export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
export flow_run_id="github_$GITHUB_RUN_ID"
export remote_url="https://github.com/$GITHUB_REPOSITORY"
export sha="$GITHUB_SHA"
- export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
- export GIT_BRANCH="$(basename $GITHUB_REF)"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
export IS_PR_BUILD="True"
else
export IS_PR_BUILD="False"
fi
- export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
- export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
./.scripts/run_osx_build.sh
- name: Build on windows
@@ -109,12 +118,15 @@ jobs:
set "sha=%GITHUB_SHA%"
call ".scripts\run_win_build.bat"
env:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ BUILD_PLATFORM: ${{ matrix.build_platform }}
+ CI: github_actions
CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
- PYTHONUNBUFFERED: 1
CONFIG: ${{ matrix.CONFIG }}
- CI: github_actions
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ PYTHONUNBUFFERED: 1
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
\ No newline at end of file
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index aa7c3d3..857e215 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -58,18 +58,33 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then
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" \
+ # differences between conda-build vs. rattler-build
+ # - 1 step (conda debug + manually open shell) vs. 2 step (rb debug {setup, shell})
+ # - recipe is positional vs. --recipe "${RECIPE_ROOT}"
+ # - --output-id vs. --output-name
+ # - --clobber-file vs. none
+ # - none vs. --target-platform
+ CONDA_SUBDIR="${BUILD_PLATFORM}" conda debug \
+ "${RECIPE_ROOT}" \
+ -m "${CI_SUPPORT}/${CONFIG}.yaml" \
${EXTRA_CB_OPTIONS:-} \
+ ${BUILD_OUTPUT_ID:+--output-id "${BUILD_OUTPUT_ID}"} \
--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:-} \
+ # differences between conda-build vs. rattler-build
+ # - recipe is positional vs. --recipe "${RECIPE_ROOT}"
+ # - --suppress-variables vs. none
+ # - --clobber-file vs. none
+ # - none vs. --target-platform
+ # - --extra-meta a=b c=d vs. --extra-meta a=b --extra-meta c=d
+ CONDA_SUBDIR="${BUILD_PLATFORM}" conda-build \
+ "${RECIPE_ROOT}" \
+ -m "${CI_SUPPORT}/${CONFIG}.yaml" \
+ ${EXTRA_CB_OPTIONS:-} \
+ --suppress-variables \
--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
diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh
old mode 100644
new mode 100755
diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh
index 10d6a2a..17d983f 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -96,6 +96,14 @@ if [ "${DOCKER_EXECUTABLE}" = "podman" ]; then
fi
fi
+# When running on GitHub Actions, mount the step summary file into the container
+# and point GITHUB_STEP_SUMMARY at it so that rattler-build's GitHub integration
+# can write its summary. GitHub writes the file out to the job summary after the
+# step finishes.
+if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then
+ DOCKER_RUN_ARGS="${DOCKER_RUN_ARGS} -v ${GITHUB_STEP_SUMMARY}:/home/conda/github_step_summary:rw${VOLUME_SUFFIX},delegated -e GITHUB_STEP_SUMMARY=/home/conda/github_step_summary"
+fi
+
( endgroup "Configure Docker" ) 2> /dev/null
( startgroup "Start Docker" ) 2> /dev/null
@@ -107,17 +115,20 @@ ${DOCKER_EXECUTABLE} pull "${DOCKER_IMAGE}"
${DOCKER_EXECUTABLE} run ${DOCKER_RUN_ARGS} \
-v "${RECIPE_ROOT}":/home/conda/recipe_root:rw${VOLUME_SUFFIX},delegated \
-v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw${VOLUME_SUFFIX},delegated \
+ -e BUILD_OUTPUT_ID \
+ -e BUILD_WITH_CONDA_DEBUG \
+ -e CI \
-e CONFIG \
+ -e CPU_COUNT \
+ -e FEEDSTOCK_NAME \
+ -e GIT_BRANCH \
+ -e GITHUB_ACTIONS \
-e HOST_USER_ID \
- -e UPLOAD_PACKAGES \
-e IS_PR_BUILD \
- -e GIT_BRANCH \
+ -e RATTLER_BUILD_COLOR \
+ -e RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION \
-e UPLOAD_ON_BRANCH \
- -e CI \
- -e FEEDSTOCK_NAME \
- -e CPU_COUNT \
- -e BUILD_WITH_CONDA_DEBUG \
- -e BUILD_OUTPUT_ID \
+ -e UPLOAD_PACKAGES \
-e flow_run_id \
-e remote_url \
-e sha \
diff --git a/README.md b/README.md
index 0fc3103..4755e1f 100644
--- a/README.md
+++ b/README.md
@@ -40,31 +40,73 @@ conda config --add channels conda-forge
conda config --set channel_priority strict
```
-Once the `conda-forge` channel has been enabled, `spatialmath-python` can be installed with `conda`:
+How to use
+----------
+
+
+With conda
```
conda install spatialmath-python
```
-or with `mamba`:
+
+
+
+With mamba
```
mamba install spatialmath-python
```
-It is possible to list all of the versions of `spatialmath-python` available on your platform with `conda`:
+
+
+
+With pixi
+
+```
+# for adding to your local project
+pixi add spatialmath-python
+# for installing globally
+pixi global install spatialmath-python
+```
+
+
+
+Search package versions
+-----------------------
+
+It is possible to list all of the versions of `spatialmath-python` available on your platform:
+
+
+With conda
```
conda search spatialmath-python --channel conda-forge
```
-or with `mamba`:
+
+
+
+With mamba
```
mamba search spatialmath-python --channel conda-forge
```
-Alternatively, `mamba repoquery` may provide more information:
+
+
+
+With pixi
+
+```
+pixi search spatialmath-python --channel conda-forge
+```
+
+
+
+
+With mamba repoquery, which may provide more information
```
# Search all versions available on your platform:
@@ -77,6 +119,8 @@ mamba repoquery whoneeds spatialmath-python --channel conda-forge
mamba repoquery depends spatialmath-python --channel conda-forge
```
+
+
About conda-forge
=================
diff --git a/build-locally.py b/build-locally.py
index 05493e4..3beb68c 100755
--- a/build-locally.py
+++ b/build-locally.py
@@ -98,7 +98,10 @@ def main(args=None):
p.add_argument(
"--debug",
action="store_true",
- help="Setup debug environment using `conda debug`",
+ help=(
+ "Setup debug environment using `conda debug` "
+ "(or `rattler-build debug` for rattler-build recipes)"
+ ),
)
p.add_argument("--output-id", help="If running debug, specify the output to setup.")
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 528f8fe..df27c32 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,5 +1,5 @@
{% set name = "spatialmath-python" %}
-{% set version = "1.1.16" %}
+{% set version = "1.1.17" %}
package:
@@ -7,13 +7,13 @@ package:
version: {{ version }}
source:
- url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/{{ name.replace('-', '_') }}-{{ version }}.tar.gz
- sha256: eb2f043b1c57baab034c01d6d3028eab80f5ec68eaa2ec89cb9572107c336a22
+ url: https://files.pythonhosted.org/packages/source/{{ name[0] }}/{{ name }}/{{ name.replace('-', '_') }}-{{ version }}.tar.gz
+ sha256: 911cc92c070a0d0c5afd5237e0df3a922470fc7e4bc4d034a65d47c8096e8cf8
patches:
- 173.patch
build:
- number: 1
+ number: 0
noarch: python
script: {{ PYTHON }} -m pip install . -vv