Re-render the feedstock after CI registration.
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
# 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: linux
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
linux_64_:
|
||||
CONFIG: linux_64_
|
||||
UPLOAD_PACKAGES: 'True'
|
||||
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
|
||||
timeoutInMinutes: 360
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
rm -rf /opt/ghc
|
||||
df -h
|
||||
displayName: Manage disk space
|
||||
|
||||
# configure qemu binfmt-misc running. This allows us to run docker containers
|
||||
# embedded qemu-static
|
||||
- script: |
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
|
||||
ls /proc/sys/fs/binfmt_misc/
|
||||
condition: not(startsWith(variables['CONFIG'], 'linux_64'))
|
||||
displayName: Configure binfmt_misc
|
||||
|
||||
- script: |
|
||||
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:
|
||||
BINSTAR_TOKEN: $(BINSTAR_TOKEN)
|
||||
FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
|
||||
STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
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.
|
||||
@@ -0,0 +1,8 @@
|
||||
cdt_name:
|
||||
- cos6
|
||||
channel_sources:
|
||||
- conda-forge
|
||||
channel_targets:
|
||||
- conda-forge main
|
||||
docker_image:
|
||||
- quay.io/condaforge/linux-anvil-cos7-x86_64
|
||||
Generated
+25
@@ -0,0 +1,25 @@
|
||||
# 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 -*-
|
||||
|
||||
version: 2
|
||||
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/test
|
||||
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.
|
||||
command: exit 0
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build_and_test:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
ignore:
|
||||
- /.*/
|
||||
Generated
+27
@@ -0,0 +1,27 @@
|
||||
* text=auto
|
||||
|
||||
*.patch binary
|
||||
*.diff binary
|
||||
meta.yaml text eol=lf
|
||||
build.sh text eol=lf
|
||||
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
|
||||
.travis/* linguist-generated=true
|
||||
.appveyor.yml linguist-generated=true
|
||||
.gitattributes linguist-generated=true
|
||||
.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
|
||||
build-locally.py linguist-generated=true
|
||||
shippable.yml linguist-generated=true
|
||||
Generated
+1
@@ -0,0 +1 @@
|
||||
* @ocefpaf
|
||||
@@ -0,0 +1,19 @@
|
||||
on:
|
||||
status: {}
|
||||
check_suite:
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
automerge-action:
|
||||
runs-on: ubuntu-latest
|
||||
name: automerge
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: automerge-action
|
||||
id: automerge-action
|
||||
uses: conda-forge/automerge-action@main
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }}
|
||||
@@ -0,0 +1,13 @@
|
||||
on: repository_dispatch
|
||||
|
||||
jobs:
|
||||
webservices:
|
||||
runs-on: ubuntu-latest
|
||||
name: webservices
|
||||
steps:
|
||||
- name: webservices
|
||||
id: webservices
|
||||
uses: conda-forge/webservices-dispatch-action@main
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }}
|
||||
Generated
+3
@@ -0,0 +1,3 @@
|
||||
*.pyc
|
||||
|
||||
build_artifacts
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here
|
||||
# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent
|
||||
# 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 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"
|
||||
|
||||
cat >~/.condarc <<CONDARC
|
||||
|
||||
conda-build:
|
||||
root-dir: ${FEEDSTOCK_ROOT}/build_artifacts
|
||||
pkgs_dirs:
|
||||
- ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache
|
||||
- /opt/conda/pkgs
|
||||
|
||||
CONDARC
|
||||
|
||||
|
||||
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}"
|
||||
|
||||
source run_conda_forge_build_setup
|
||||
|
||||
# make the build number clobber
|
||||
make_build_number "${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 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}"
|
||||
|
||||
( 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}"
|
||||
Generated
+35
@@ -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
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here
|
||||
# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent
|
||||
# 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" )/.." >/dev/null && pwd )"
|
||||
RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe"
|
||||
|
||||
if [ -z ${FEEDSTOCK_NAME} ]; then
|
||||
export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT})
|
||||
fi
|
||||
|
||||
docker info
|
||||
|
||||
# In order for the conda-build process in the container to write to the mounted
|
||||
# volumes, we need to run with the same id as the host machine, which is
|
||||
# normally the owner of the mounted volumes, or at least has write permission
|
||||
export HOST_USER_ID=$(id -u)
|
||||
# Check if docker-machine is being used (normally on OSX) and get the uid from
|
||||
# the VM
|
||||
if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then
|
||||
export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u)
|
||||
fi
|
||||
|
||||
ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts"
|
||||
|
||||
if [ -z "$CONFIG" ]; then
|
||||
set +x
|
||||
FILES=`ls .ci_support/linux_*`
|
||||
CONFIGS=""
|
||||
for file in $FILES; do
|
||||
CONFIGS="${CONFIGS}'${file:12:-5}' or ";
|
||||
done
|
||||
echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}"
|
||||
exit 1
|
||||
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. 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 quay.io/condaforge/linux-anvil-comp7 )"
|
||||
fi
|
||||
fi
|
||||
|
||||
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}"
|
||||
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 \
|
||||
-e FEEDSTOCK_NAME \
|
||||
-e CPU_COUNT \
|
||||
-e BUILD_WITH_CONDA_DEBUG \
|
||||
-e BUILD_OUTPUT_ID \
|
||||
-e BINSTAR_TOKEN \
|
||||
-e FEEDSTOCK_TOKEN \
|
||||
-e STAGING_BINSTAR_TOKEN \
|
||||
"${DOCKER_IMAGE}" \
|
||||
bash \
|
||||
"/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh"
|
||||
|
||||
# verify that the end of the script was reached
|
||||
test -f "$DONE_CANARY"
|
||||
|
||||
# This closes the last group opened in `build_steps.sh`
|
||||
( endgroup "Final checks" ) 2> /dev/null
|
||||
Generated
+27
@@ -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.
|
||||
@@ -0,0 +1,147 @@
|
||||
About gdptools
|
||||
==============
|
||||
|
||||
Home: https://code.usgs.gov/wma/nhgf/toolsteam/gdptools
|
||||
|
||||
Package license: Unlicense
|
||||
|
||||
Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/gdptools-feedstock/blob/main/LICENSE.txt)
|
||||
|
||||
Summary: Gdptools
|
||||
|
||||
Current build status
|
||||
====================
|
||||
|
||||
|
||||
<table><tr><td>All platforms:</td>
|
||||
<td>
|
||||
<a href="https://dev.azure.com/conda-forge/feedstock-builds/_build/latest?definitionId=17168&branchName=main">
|
||||
<img src="https://dev.azure.com/conda-forge/feedstock-builds/_apis/build/status/gdptools-feedstock?branchName=main">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Current release info
|
||||
====================
|
||||
|
||||
| Name | Downloads | Version | Platforms |
|
||||
| --- | --- | --- | --- |
|
||||
| [](https://anaconda.org/conda-forge/gdptools) | [](https://anaconda.org/conda-forge/gdptools) | [](https://anaconda.org/conda-forge/gdptools) | [](https://anaconda.org/conda-forge/gdptools) |
|
||||
|
||||
Installing gdptools
|
||||
===================
|
||||
|
||||
Installing `gdptools` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:
|
||||
|
||||
```
|
||||
conda config --add channels conda-forge
|
||||
conda config --set channel_priority strict
|
||||
```
|
||||
|
||||
Once the `conda-forge` channel has been enabled, `gdptools` can be installed with `conda`:
|
||||
|
||||
```
|
||||
conda install gdptools
|
||||
```
|
||||
|
||||
or with `mamba`:
|
||||
|
||||
```
|
||||
mamba install gdptools
|
||||
```
|
||||
|
||||
It is possible to list all of the versions of `gdptools` available on your platform with `conda`:
|
||||
|
||||
```
|
||||
conda search gdptools --channel conda-forge
|
||||
```
|
||||
|
||||
or with `mamba`:
|
||||
|
||||
```
|
||||
mamba search gdptools --channel conda-forge
|
||||
```
|
||||
|
||||
Alternatively, `mamba repoquery` may provide more information:
|
||||
|
||||
```
|
||||
# Search all versions available on your platform:
|
||||
mamba repoquery search gdptools --channel conda-forge
|
||||
|
||||
# List packages depending on `gdptools`:
|
||||
mamba repoquery whoneeds gdptools --channel conda-forge
|
||||
|
||||
# List dependencies of `gdptools`:
|
||||
mamba repoquery depends gdptools --channel conda-forge
|
||||
```
|
||||
|
||||
|
||||
About conda-forge
|
||||
=================
|
||||
|
||||
[](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
|
||||
conda-forge GitHub organization. The conda-forge organization contains one repository
|
||||
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
|
||||
[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.
|
||||
Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of
|
||||
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``.
|
||||
|
||||
For more information please check the [conda-forge documentation](https://conda-forge.org/docs/).
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
**feedstock** - the conda recipe (raw material), supporting scripts and CI configuration.
|
||||
|
||||
**conda-smithy** - the tool which helps orchestrate the feedstock.
|
||||
Its primary use is in the construction of the CI ``.yml`` files
|
||||
and simplify the management of *many* feedstocks.
|
||||
|
||||
**conda-forge** - the place where the feedstock and smithy live and work to
|
||||
produce the finished article (built conda distributions)
|
||||
|
||||
|
||||
Updating gdptools-feedstock
|
||||
===========================
|
||||
|
||||
If you would like to improve the gdptools recipe or build a new
|
||||
package version, please fork this repository and submit a PR. Upon submission,
|
||||
your changes will be run on the appropriate platforms to give the reviewer an
|
||||
opportunity to confirm that the changes result in a successful build. Once
|
||||
merged, the recipe will be re-built and uploaded automatically to the
|
||||
`conda-forge` channel, whereupon the built conda packages will be available for
|
||||
everybody to install and use from the `conda-forge` channel.
|
||||
Note that all branches in the conda-forge/gdptools-feedstock are
|
||||
immediately built and any created packages are uploaded, so PRs should be based
|
||||
on branches in forks and branches in the main repository should only be used to
|
||||
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://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://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string)
|
||||
back to 0.
|
||||
|
||||
Feedstock Maintainers
|
||||
=====================
|
||||
|
||||
* [@ocefpaf](https://github.com/ocefpaf/)
|
||||
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
# 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:
|
||||
- template: ./.azure-pipelines/azure-pipelines-linux.yml
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# This file has been generated by conda-smithy in order to build the recipe
|
||||
# locally.
|
||||
#
|
||||
import os
|
||||
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):
|
||||
script = ".scripts/run_docker_build.sh"
|
||||
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")
|
||||
}
|
||||
print(f"valid configs are {valid_configs}")
|
||||
if ns.config in valid_configs:
|
||||
print("Using " + ns.config + " configuration")
|
||||
return
|
||||
elif len(valid_configs) == 1:
|
||||
ns.config = valid_configs.pop()
|
||||
print("Found " + ns.config + " configuration")
|
||||
elif ns.config is None:
|
||||
print("config not selected, please choose from the following:\n")
|
||||
selections = list(enumerate(sorted(valid_configs), 1))
|
||||
for i, c in selections:
|
||||
print(f"{i}. {c}")
|
||||
s = input("\n> ")
|
||||
idx = int(s) - 1
|
||||
ns.config = selections[idx][1]
|
||||
print(f"selected {ns.config}")
|
||||
else:
|
||||
raise ValueError("config " + ns.config + " is not valid")
|
||||
# Remove the following, as implemented
|
||||
if ns.config.startswith("win"):
|
||||
raise ValueError(
|
||||
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<ver>.sdk'. "
|
||||
"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)
|
||||
|
||||
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__":
|
||||
main()
|
||||
+4
-1
@@ -1 +1,4 @@
|
||||
{}
|
||||
github:
|
||||
branch_name: main
|
||||
tooling_branch_name: main
|
||||
conda_forge_output_validation: true
|
||||
|
||||
Reference in New Issue
Block a user