From 6cf9fb09776776b2c57cf454a8f7cc1691bdc4f9 Mon Sep 17 00:00:00 2001
From: regro-cf-autotick-bot
<36490558+regro-cf-autotick-bot@users.noreply.github.com>
Date: Fri, 25 Mar 2022 08:47:59 +0000
Subject: [PATCH 1/4] Rebuild for ffmpeg44
---
.ci_support/migrations/ffmpeg44.yaml | 7 +++++++
recipe/meta.yaml | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
create mode 100644 .ci_support/migrations/ffmpeg44.yaml
diff --git a/.ci_support/migrations/ffmpeg44.yaml b/.ci_support/migrations/ffmpeg44.yaml
new file mode 100644
index 0000000..76c3308
--- /dev/null
+++ b/.ci_support/migrations/ffmpeg44.yaml
@@ -0,0 +1,7 @@
+__migrator:
+ build_number: 1
+ kind: version
+ migration_number: 1
+ffmpeg:
+- '4.4'
+migrator_ts: 1645963201.9878001
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 66c5c7e..30301c1 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,5 +1,5 @@
{% set name = "lintel" %}
-{% set build_number = 1005 %}
+{% set build_number = 1006 %}
{% set version = "1.0" %}
{% set sha256 = "0ef52abe5ad6eefb54fe74afd2d768d4e6d3eca238e4bd74d6d41ec883d5538f" %}
From ff460b30ff38c79fbd9c0dc98193fb06432fd089 Mon Sep 17 00:00:00 2001
From: regro-cf-autotick-bot
<36490558+regro-cf-autotick-bot@users.noreply.github.com>
Date: Fri, 25 Mar 2022 08:48:28 +0000
Subject: [PATCH 2/4] MNT: Re-rendered with conda-build 3.21.8, conda-smithy
3.18.0, and conda-forge-pinning 2022.03.25.06.21.54
---
.azure-pipelines/azure-pipelines-linux.yml | 19 ++--
.azure-pipelines/azure-pipelines-osx.yml | 8 +-
.ci_support/README | 7 +-
.../linux_64_python3.6.____cpython.yaml | 25 -----
.../linux_64_python3.7.____73_pypy.yaml | 11 +--
.../linux_64_python3.7.____cpython.yaml | 11 +--
.../linux_64_python3.8.____cpython.yaml | 11 +--
.../linux_64_python3.9.____cpython.yaml | 11 +--
.ci_support/migrations/python39.yaml | 26 ------
.ci_support/osx_64_python3.6.____cpython.yaml | 22 -----
.ci_support/osx_64_python3.7.____73_pypy.yaml | 6 +-
.ci_support/osx_64_python3.7.____cpython.yaml | 6 +-
.ci_support/osx_64_python3.8.____cpython.yaml | 6 +-
.ci_support/osx_64_python3.9.____cpython.yaml | 6 +-
.gitattributes | 2 +
.scripts/build_steps.sh | 35 ++++++-
.scripts/logging_utils.sh | 35 +++++++
.scripts/run_docker_build.sh | 28 ++++--
.scripts/run_osx_build.sh | 92 ++++++++++++-------
LICENSE.txt | 2 +-
README.md | 60 +++++-------
build-locally.py | 29 +++++-
22 files changed, 250 insertions(+), 208 deletions(-)
delete mode 100644 .ci_support/linux_64_python3.6.____cpython.yaml
delete mode 100644 .ci_support/migrations/python39.yaml
delete mode 100644 .ci_support/osx_64_python3.6.____cpython.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 11fa849..2fe028e 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -5,29 +5,25 @@
jobs:
- job: linux
pool:
- vmImage: ubuntu-16.04
+ vmImage: ubuntu-latest
strategy:
matrix:
- linux_64_python3.6.____cpython:
- CONFIG: linux_64_python3.6.____cpython
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
linux_64_python3.7.____73_pypy:
CONFIG: linux_64_python3.7.____73_pypy
UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
linux_64_python3.7.____cpython:
CONFIG: linux_64_python3.7.____cpython
UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ 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-comp7
+ 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-comp7
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
timeoutInMinutes: 360
steps:
@@ -48,6 +44,11 @@ jobs:
export CI=azure
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:
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index c01d76d..f1f0ca9 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -8,9 +8,6 @@ jobs:
vmImage: macOS-10.15
strategy:
matrix:
- osx_64_python3.6.____cpython:
- CONFIG: osx_64_python3.6.____cpython
- UPLOAD_PACKAGES: 'True'
osx_64_python3.7.____73_pypy:
CONFIG: osx_64_python3.7.____73_pypy
UPLOAD_PACKAGES: 'True'
@@ -32,6 +29,11 @@ jobs:
export OSX_FORCE_SDK_DOWNLOAD="1"
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_osx_build.sh
displayName: Run OSX build
env:
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_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml
deleted file mode 100644
index 8866e64..0000000
--- a/.ci_support/linux_64_python3.6.____cpython.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-c_compiler:
-- gcc
-c_compiler_version:
-- '9'
-cdt_name:
-- cos6
-channel_sources:
-- conda-forge,defaults
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-comp7
-ffmpeg:
-- '4.3'
-pin_run_as_build:
- python:
- min_pin: x.x
- max_pin: x.x
-python:
-- 3.6.* *_cpython
-target_platform:
-- linux-64
-zip_keys:
-- - cdt_name
- - docker_image
diff --git a/.ci_support/linux_64_python3.7.____73_pypy.yaml b/.ci_support/linux_64_python3.7.____73_pypy.yaml
index 090943f..8e42d85 100644
--- a/.ci_support/linux_64_python3.7.____73_pypy.yaml
+++ b/.ci_support/linux_64_python3.7.____73_pypy.yaml
@@ -1,17 +1,17 @@
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-comp7
+- quay.io/condaforge/linux-anvil-cos7-x86_64
ffmpeg:
-- '4.3'
+- '4.4'
pin_run_as_build:
python:
min_pin: x.x
@@ -20,6 +20,3 @@ python:
- 3.7.* *_73_pypy
target_platform:
- linux-64
-zip_keys:
-- - cdt_name
- - docker_image
diff --git a/.ci_support/linux_64_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml
index 718e41d..945bbb2 100644
--- a/.ci_support/linux_64_python3.7.____cpython.yaml
+++ b/.ci_support/linux_64_python3.7.____cpython.yaml
@@ -1,17 +1,17 @@
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-comp7
+- quay.io/condaforge/linux-anvil-cos7-x86_64
ffmpeg:
-- '4.3'
+- '4.4'
pin_run_as_build:
python:
min_pin: x.x
@@ -20,6 +20,3 @@ python:
- 3.7.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - cdt_name
- - docker_image
diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml
index 3cf535e..7d6782d 100644
--- a/.ci_support/linux_64_python3.8.____cpython.yaml
+++ b/.ci_support/linux_64_python3.8.____cpython.yaml
@@ -1,17 +1,17 @@
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-comp7
+- quay.io/condaforge/linux-anvil-cos7-x86_64
ffmpeg:
-- '4.3'
+- '4.4'
pin_run_as_build:
python:
min_pin: x.x
@@ -20,6 +20,3 @@ python:
- 3.8.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - cdt_name
- - docker_image
diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml
index 6ed4fca..a92b882 100644
--- a/.ci_support/linux_64_python3.9.____cpython.yaml
+++ b/.ci_support/linux_64_python3.9.____cpython.yaml
@@ -1,17 +1,17 @@
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-comp7
+- quay.io/condaforge/linux-anvil-cos7-x86_64
ffmpeg:
-- '4.3'
+- '4.4'
pin_run_as_build:
python:
min_pin: x.x
@@ -20,6 +20,3 @@ python:
- 3.9.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - cdt_name
- - docker_image
diff --git a/.ci_support/migrations/python39.yaml b/.ci_support/migrations/python39.yaml
deleted file mode 100644
index 3eff5c7..0000000
--- a/.ci_support/migrations/python39.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-migrator_ts: 1602104489
-__migrator:
- migration_number: 2
- operation: key_add
- primary_key: python
- ordering:
- python:
- - 3.6.* *_cpython
- - 3.7.* *_cpython
- - 3.8.* *_cpython
- - 3.9.* *_cpython # new entry
- - 3.6.* *_73_pypy
- paused: false
- pr_limit: 50
- exclude:
- # this shouldn't attempt to modify the python feedstocks
- - python
- - pypy3.6
- - pypy-meta
-python:
- - 3.9.* *_cpython
-# additional entries to add for zip_keys
-numpy:
- - 1.19
-python_impl:
- - cpython
diff --git a/.ci_support/osx_64_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml
deleted file mode 100644
index dc75805..0000000
--- a/.ci_support/osx_64_python3.6.____cpython.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
-c_compiler:
-- clang
-c_compiler_version:
-- '11'
-channel_sources:
-- conda-forge,defaults
-channel_targets:
-- conda-forge main
-ffmpeg:
-- '4.3'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-pin_run_as_build:
- python:
- min_pin: x.x
- max_pin: x.x
-python:
-- 3.6.* *_cpython
-target_platform:
-- osx-64
diff --git a/.ci_support/osx_64_python3.7.____73_pypy.yaml b/.ci_support/osx_64_python3.7.____73_pypy.yaml
index a18ce91..93d4077 100644
--- a/.ci_support/osx_64_python3.7.____73_pypy.yaml
+++ b/.ci_support/osx_64_python3.7.____73_pypy.yaml
@@ -3,13 +3,13 @@ MACOSX_DEPLOYMENT_TARGET:
c_compiler:
- clang
c_compiler_version:
-- '11'
+- '12'
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
ffmpeg:
-- '4.3'
+- '4.4'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml
index 5f849d2..61242c9 100644
--- a/.ci_support/osx_64_python3.7.____cpython.yaml
+++ b/.ci_support/osx_64_python3.7.____cpython.yaml
@@ -3,13 +3,13 @@ MACOSX_DEPLOYMENT_TARGET:
c_compiler:
- clang
c_compiler_version:
-- '11'
+- '12'
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
ffmpeg:
-- '4.3'
+- '4.4'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml
index 9a72704..634bc96 100644
--- a/.ci_support/osx_64_python3.8.____cpython.yaml
+++ b/.ci_support/osx_64_python3.8.____cpython.yaml
@@ -3,13 +3,13 @@ MACOSX_DEPLOYMENT_TARGET:
c_compiler:
- clang
c_compiler_version:
-- '11'
+- '12'
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
ffmpeg:
-- '4.3'
+- '4.4'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml
index 152d7c4..74bede8 100644
--- a/.ci_support/osx_64_python3.9.____cpython.yaml
+++ b/.ci_support/osx_64_python3.9.____cpython.yaml
@@ -3,13 +3,13 @@ MACOSX_DEPLOYMENT_TARGET:
c_compiler:
- clang
c_compiler_version:
-- '11'
+- '12'
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
ffmpeg:
-- '4.3'
+- '4.4'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.gitattributes b/.gitattributes
index 9060b27..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
@@ -18,6 +19,7 @@ bld.bat text eol=crlf
.gitignore linguist-generated=true
.travis.yml 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/.scripts/build_steps.sh b/.scripts/build_steps.sh
index 227e1ed..c9590a3 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"
@@ -19,7 +28,11 @@ conda-build:
CONDARC
-conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge
+
+mamba install --update-specs --yes --quiet --channel conda-forge \
+ conda-build pip boa conda-forge-ci-setup=3
+mamba update --update-specs --yes --quiet --channel conda-forge \
+ conda-build pip boa conda-forge-ci-setup=3
# set up the condarc
setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
@@ -38,6 +51,9 @@ source run_conda_forge_build_setup
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
+
+( endgroup "Configuring conda" ) 2> /dev/null
+
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}"
@@ -45,17 +61,28 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then
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" \
+ conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \
--suppress-variables ${EXTRA_CB_OPTIONS:-} \
--clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml"
+ ( startgroup "Validating outputs" ) 2> /dev/null
+
validate_recipe_outputs "${FEEDSTOCK_NAME}"
- if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
+ ( 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..57bc95c
--- /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 36dacd6..9236239 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -5,12 +5,16 @@
# 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
@@ -48,11 +52,11 @@ if [ -z "${DOCKER_IMAGE}" ]; then
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 condaforge/linux-anvil-comp7"
- DOCKER_IMAGE="condaforge/linux-anvil-comp7"
+ 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
@@ -66,13 +70,20 @@ if [ -z "${CI}" ]; then
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:rw,z,delegated \
-v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \
-e CONFIG \
-e HOST_USER_ID \
-e UPLOAD_PACKAGES \
+ -e IS_PR_BUILD \
-e GIT_BRANCH \
-e UPLOAD_ON_BRANCH \
-e CI \
@@ -83,9 +94,12 @@ docker run ${DOCKER_RUN_ARGS} \
-e BINSTAR_TOKEN \
-e FEEDSTOCK_TOKEN \
-e STAGING_BINSTAR_TOKEN \
- $DOCKER_IMAGE \
+ "${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/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index c299b79..19843e0 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -1,57 +1,87 @@
#!/usr/bin/env bash
-set -x
+# -*- mode: jinja-shell -*-
+
+source .scripts/logging_utils.sh
+
+set -xe
+
+MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3}
+
+( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
-echo -e "\n\nInstalling a fresh version of Miniforge."
-if [[ ${CI} == "travis" ]]; then
- echo -en 'travis_fold:start:install_miniforge\\r'
-fi
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
-MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh"
+MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh"
curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}"
-bash $MINIFORGE_FILE -b
-if [[ ${CI} == "travis" ]]; then
- echo -en 'travis_fold:end:install_miniforge\\r'
-fi
+rm -rf ${MINIFORGE_HOME}
+bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
-echo -e "\n\nConfiguring conda."
-if [[ ${CI} == "travis" ]]; then
- echo -en 'travis_fold:start:configure_conda\\r'
-fi
+( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
-source ${HOME}/miniforge3/etc/profile.d/conda.sh
+( startgroup "Configuring conda" ) 2> /dev/null
+
+source ${MINIFORGE_HOME}/etc/profile.d/conda.sh
conda activate base
-echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
-conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip
+echo -e "\n\nInstalling ['conda-forge-ci-setup=3'] and conda-build."
+mamba install --update-specs --quiet --yes --channel conda-forge \
+ conda-build pip boa conda-forge-ci-setup=3
+mamba update --update-specs --yes --quiet --channel conda-forge \
+ conda-build pip boa conda-forge-ci-setup=3
echo -e "\n\nSetting up the condarc and mangling the compiler."
setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
-mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
-echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
-/usr/bin/sudo mangle_homebrew
-/usr/bin/sudo -k
+if [[ "${CI:-}" != "" ]]; then
+ mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
+fi
+
+if [[ "${CI:-}" != "" ]]; then
+ echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
+ /usr/bin/sudo mangle_homebrew
+ /usr/bin/sudo -k
+else
+ echo -e "\n\nNot mangling homebrew as we are not running in CI"
+fi
echo -e "\n\nRunning the build setup script."
source run_conda_forge_build_setup
-if [[ ${CI} == "travis" ]]; then
- echo -en 'travis_fold:end:configure_conda\\r'
-fi
-set -e
+( endgroup "Configuring conda" ) 2> /dev/null
-echo -e "\n\nMaking the build clobber file and running the build."
+echo -e "\n\nMaking the build clobber file"
make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml
-conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-}
-validate_recipe_outputs "${FEEDSTOCK_NAME}"
-if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
- echo -e "\n\nUploading the packages."
- upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml
+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 -m ./.ci_support/${CONFIG}.yaml \
+ ${EXTRA_CB_OPTIONS:-} \
+ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
+
+ # Drop into an interactive shell
+ /bin/bash
+else
+ conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \
+ --suppress-variables ${EXTRA_CB_OPTIONS:-} \
+ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
+ ( 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}" ./ ./recipe ./.ci_support/${CONFIG}.yaml
+ fi
+
+ ( endgroup "Uploading packages" ) 2> /dev/null
fi
\ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
index 5f30279..6ec1401 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,5 +1,5 @@
BSD 3-clause license
-Copyright (c) 2015-2020, conda-forge contributors
+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:
diff --git a/README.md b/README.md
index f9c8aa0..52441bf 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ Home: https://github.com/dukebw/lintel
Package license: Apache2
-Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/lintel-feedstock/blob/master/LICENSE.txt)
+Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/lintel-feedstock/blob/main/LICENSE.txt)
Summary: A Python module to decode video frames directly, using the FFmpeg C API.
@@ -20,80 +20,66 @@ Current build status
-
-
+
+
Variant | Status |
- linux_64_python3.6.____cpython |
-
-
-
-
- |
-
linux_64_python3.7.____73_pypy |
-
-
+
+
|
linux_64_python3.7.____cpython |
-
-
+
+
|
linux_64_python3.8.____cpython |
-
-
+
+
|
linux_64_python3.9.____cpython |
-
-
-
- |
-
- osx_64_python3.6.____cpython |
-
-
-
+
+
|
osx_64_python3.7.____73_pypy |
-
-
+
+
|
osx_64_python3.7.____cpython |
-
-
+
+
|
osx_64_python3.8.____cpython |
-
-
+
+
|
osx_64_python3.9.____cpython |
-
-
+
+
|
@@ -118,6 +104,7 @@ Installing `lintel` 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, `lintel` can be installed with:
@@ -136,7 +123,8 @@ conda search lintel --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
@@ -188,9 +176,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
diff --git a/build-locally.py b/build-locally.py
index 3453cfe..eec38a0 100755
--- a/build-locally.py
+++ b/build-locally.py
@@ -7,15 +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):
@@ -23,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")
@@ -46,10 +57,17 @@ 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=SDKs' "
+ "to download the SDK automatically to 'SDKs/MacOSX.sdk'. "
+ "Setting this variable implies agreement to the licensing terms of the SDK by Apple."
+ )
def main(args=None):
@@ -68,7 +86,12 @@ def main(args=None):
verify_config(ns)
setup_environment(ns)
- run_docker_build(ns)
+ 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)
if __name__ == "__main__":
From fd9d8d07f4a3eddb8985e075798a87ff8ea8efe4 Mon Sep 17 00:00:00 2001
From: Mark Harfouche
Date: Wed, 30 Mar 2022 18:41:52 -0400
Subject: [PATCH 3/4] Delete pypy37 because it never worked.
---
.ci_support/migrations/pypy37.yaml | 30 ------------------------------
1 file changed, 30 deletions(-)
delete mode 100644 .ci_support/migrations/pypy37.yaml
diff --git a/.ci_support/migrations/pypy37.yaml b/.ci_support/migrations/pypy37.yaml
deleted file mode 100644
index 5670e37..0000000
--- a/.ci_support/migrations/pypy37.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-migrator_ts: 1608144114
-__migrator:
- migration_number: 1
- operation: key_add
- primary_key: python
- ordering:
- python:
- - 3.6.* *_cpython
- - 3.7.* *_cpython
- - 3.8.* *_cpython
- - 3.9.* *_cpython
- - 3.6.* *_73_pypy
- - 3.7.* *_73_pypy # new entry
- paused: False
- longterm: True
- pr_limit: 4
- bump_number: 0
- exclude:
- # this shouldn't attempt to modify the python feedstocks
- - python
- - pypy3.6
- - pypy-meta
-
-python: # [not (win or arm64)]
- - 3.7.* *_73_pypy # [not (win or arm64)]
-# additional entries to add for zip_keys
-numpy: # [not (win or arm64)]
- - 1.19 # [not (win or arm64)]
-python_impl: # [not (win or arm64)]
- - pypy # [not (win or arm64)]
From 7af607c3bb218f88c5f379e80b68629861c63d73 Mon Sep 17 00:00:00 2001
From: "conda-forge-webservices[bot]"
<91080706+conda-forge-webservices[bot]@users.noreply.github.com>
Date: Wed, 30 Mar 2022 22:43:40 +0000
Subject: [PATCH 4/4] MNT: Re-rendered with conda-build 3.21.8, conda-smithy
3.19.0, and conda-forge-pinning 2022.03.30.18.03.29
---
.azure-pipelines/azure-pipelines-linux.yml | 4 --
.azure-pipelines/azure-pipelines-osx.yml | 3 --
.../linux_64_python3.7.____73_pypy.yaml | 22 --------
.ci_support/osx_64_python3.7.____73_pypy.yaml | 22 --------
README.md | 53 ++++++++++++-------
5 files changed, 33 insertions(+), 71 deletions(-)
delete mode 100644 .ci_support/linux_64_python3.7.____73_pypy.yaml
delete mode 100644 .ci_support/osx_64_python3.7.____73_pypy.yaml
diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 2fe028e..16a1d32 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -8,10 +8,6 @@ jobs:
vmImage: ubuntu-latest
strategy:
matrix:
- linux_64_python3.7.____73_pypy:
- CONFIG: linux_64_python3.7.____73_pypy
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
linux_64_python3.7.____cpython:
CONFIG: linux_64_python3.7.____cpython
UPLOAD_PACKAGES: 'True'
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index f1f0ca9..7c4c40e 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -8,9 +8,6 @@ jobs:
vmImage: macOS-10.15
strategy:
matrix:
- osx_64_python3.7.____73_pypy:
- CONFIG: osx_64_python3.7.____73_pypy
- UPLOAD_PACKAGES: 'True'
osx_64_python3.7.____cpython:
CONFIG: osx_64_python3.7.____cpython
UPLOAD_PACKAGES: 'True'
diff --git a/.ci_support/linux_64_python3.7.____73_pypy.yaml b/.ci_support/linux_64_python3.7.____73_pypy.yaml
deleted file mode 100644
index 8e42d85..0000000
--- a/.ci_support/linux_64_python3.7.____73_pypy.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-c_compiler:
-- gcc
-c_compiler_version:
-- '10'
-cdt_name:
-- cos6
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-cos7-x86_64
-ffmpeg:
-- '4.4'
-pin_run_as_build:
- python:
- min_pin: x.x
- max_pin: x.x
-python:
-- 3.7.* *_73_pypy
-target_platform:
-- linux-64
diff --git a/.ci_support/osx_64_python3.7.____73_pypy.yaml b/.ci_support/osx_64_python3.7.____73_pypy.yaml
deleted file mode 100644
index 93d4077..0000000
--- a/.ci_support/osx_64_python3.7.____73_pypy.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
-c_compiler:
-- clang
-c_compiler_version:
-- '12'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-ffmpeg:
-- '4.4'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-pin_run_as_build:
- python:
- min_pin: x.x
- max_pin: x.x
-python:
-- 3.7.* *_73_pypy
-target_platform:
-- osx-64
diff --git a/README.md b/README.md
index 52441bf..12bf4cb 100644
--- a/README.md
+++ b/README.md
@@ -27,13 +27,6 @@ Current build status
Variant | Status |
- linux_64_python3.7.____73_pypy |
-
-
-
-
- |
-
linux_64_python3.7.____cpython |
@@ -54,13 +47,6 @@ Current build status
|
-
- osx_64_python3.7.____73_pypy |
-
-
-
-
- |
osx_64_python3.7.____cpython |
@@ -107,18 +93,43 @@ conda config --add channels conda-forge
conda config --set channel_priority strict
```
-Once the `conda-forge` channel has been enabled, `lintel` can be installed with:
+Once the `conda-forge` channel has been enabled, `lintel` can be installed with `conda`:
```
conda install lintel
```
-It is possible to list all of the versions of `lintel` available on your platform with:
+or with `mamba`:
+
+```
+mamba install lintel
+```
+
+It is possible to list all of the versions of `lintel` available on your platform with `conda`:
```
conda search lintel --channel conda-forge
```
+or with `mamba`:
+
+```
+mamba search lintel --channel conda-forge
+```
+
+Alternatively, `mamba repoquery` may provide more information:
+
+```
+# Search all versions available on your platform:
+mamba repoquery search lintel --channel conda-forge
+
+# List packages depending on `lintel`:
+mamba repoquery whoneeds lintel --channel conda-forge
+
+# List dependencies of `lintel`:
+mamba repoquery depends lintel --channel conda-forge
+```
+
About conda-forge
=================
@@ -134,10 +145,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-Cloud](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.
| |