Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* text=auto

meta.yaml text eol=lf
build.sh text eol=lf
bld.bat text eol=crlf
50 changes: 34 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# This file was generated automatically from conda-smithy. To update this configuration,
# update the conda-forge.yaml and/or the recipe/meta.yaml.
# update the conda-forge.yml and/or the recipe/meta.yaml.

language: objective-c
language: generic

os: osx
osx_image: xcode6.4

env:
global:
Expand All @@ -10,29 +13,44 @@ env:


before_install:
# Fast finish the PR.
- |
(curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
python - -v --ci "travis" "${TRAVIS_REPO_SLUG}" "${TRAVIS_BUILD_NUMBER}" "${TRAVIS_PULL_REQUEST}") || exit 1

# Remove homebrew.
- brew remove --force $(brew list)
- brew cleanup -s
- rm -rf $(brew --cache)
- |
echo ""
echo "Removing homebrew from Travis CI 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


install:
# Install Miniconda.
- |
MINICONDA_URL="http://repo.continuum.io/miniconda"
echo ""
echo "Installing a fresh version of Miniconda."
MINICONDA_URL="https://repo.continuum.io/miniconda"
MINICONDA_FILE="Miniconda3-latest-MacOSX-x86_64.sh"
curl -O "${MINICONDA_URL}/${MINICONDA_FILE}"
curl -L -O "${MINICONDA_URL}/${MINICONDA_FILE}"
bash $MINICONDA_FILE -b

export PATH=/Users/travis/miniconda3/bin:$PATH

conda config --set show_channel_urls true
conda update --yes conda
conda install --yes conda-build=1.20.0 jinja2 anaconda-client
# Configure conda.
- |
echo ""
echo "Configuring conda."
source /Users/travis/miniconda3/bin/activate root
conda config --remove channels defaults
conda config --add channels defaults
conda config --add channels conda-forge

conda config --set show_channel_urls true
conda install --yes --quiet conda-forge-build-setup
source run_conda_forge_build_setup

script:
- conda build ./recipe

after_success:

- ./ci_support/upload_or_check_non_existence.py ./recipe conda-forge --channel=main
- upload_or_check_non_existence ./recipe conda-forge --channel=main
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
BSD 3-clause license
Copyright (c) conda-forge
Copyright (c) 2015-2017, conda-forge
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Expand Down
55 changes: 30 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,34 @@ Summary: The Fast Library for Approximate Nearest Neighbors



Current build status
====================

Linux: [![Circle CI](https://circleci.com/gh/conda-forge/flann-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/flann-feedstock)
OSX: [![TravisCI](https://travis-ci.org/conda-forge/flann-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/flann-feedstock)
Windows: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg)

Current release info
====================
Version: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/flann/badges/version.svg)](https://anaconda.org/conda-forge/flann)
Downloads: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/flann/badges/downloads.svg)](https://anaconda.org/conda-forge/flann)

Installing flann
================

Installing flann from the conda-forge channel can be achieved by adding conda-forge to your channels with:
Installing `flann` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:

```
conda config --add channels conda-forge
```

Once the conda-forge channel has been enabled, flann can be installed with:
Once the `conda-forge` channel has been enabled, `flann` can be installed with:

```
conda install flann
```

It is possible to list all of the versions of flann available on your platform with:
It is possible to list all of the versions of `flann` available on your platform with:

```
conda search flann --channel conda-forge
Expand All @@ -38,7 +50,7 @@ About conda-forge

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
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
Expand All @@ -51,8 +63,8 @@ packages to the [conda-forge](https://anaconda.org/conda-forge)

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 regenerate all of
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy regenerate``.
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``.


Terminology
Expand All @@ -67,32 +79,25 @@ Terminology
**conda-forge** - the place where the feedstock and smithy live and work to
produce the finished article (built conda distributions)

Current build status
====================

Linux: [![Circle CI](https://circleci.com/gh/conda-forge/flann-feedstock.svg?style=svg)](https://circleci.com/gh/conda-forge/flann-feedstock)
OSX: [![TravisCI](https://travis-ci.org/conda-forge/flann-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/flann-feedstock)
Windows: [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/flann-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/flann-feedstock/branch/master)

Current release info
====================
Version: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/flann/badges/version.svg)](https://anaconda.org/conda-forge/flann)
Downloads: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/flann/badges/downloads.svg)](https://anaconda.org/conda-forge/flann)


Updating flann-feedstock
========================

If you would like to improve the flann recipe, please take the normal
route of forking this repository and submitting 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 they will be available for everybody to
install and use.
If you would like to improve the flann 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/flann-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``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string).
the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string).
* If the version of a package **is** being increased, please remember to return
the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string)
back to 0.
27 changes: 27 additions & 0 deletions ci_support/checkout_merge_commit.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash


# Update PR refs for testing.
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
FETCH_REFS="${FETCH_REFS} +refs/pull/${CIRCLE_PR_NUMBER}/head:pr/${CIRCLE_PR_NUMBER}/head"
FETCH_REFS="${FETCH_REFS} +refs/pull/${CIRCLE_PR_NUMBER}/merge:pr/${CIRCLE_PR_NUMBER}/merge"
fi

# Retrieve the refs.
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
git fetch -u origin ${FETCH_REFS}
fi

# Checkout the PR merge ref.
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
git checkout -qf "pr/${CIRCLE_PR_NUMBER}/merge"
fi

# Check for merge conflicts.
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
git branch --merged | grep "pr/${CIRCLE_PR_NUMBER}/head" > /dev/null
fi
4 changes: 4 additions & 0 deletions ci_support/fast_finish_ci_pr_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
python - -v --ci "circle" "${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" "${CIRCLE_BUILD_NUM}" "${CIRCLE_PR_NUMBER}"
39 changes: 30 additions & 9 deletions ci_support/run_docker_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ config=$(cat <<CONDARC

channels:
- conda-forge

- defaults # As we need conda-build
- defaults

conda-build:
root-dir: /feedstock_root/build_artefacts
Expand All @@ -25,25 +24,47 @@ show_channel_urls: true
CONDARC
)

# 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
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
HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u)
fi

rm -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done"

cat << EOF | docker run -i \
-v ${RECIPE_ROOT}:/recipe_root \
-v ${FEEDSTOCK_ROOT}:/feedstock_root \
-v "${RECIPE_ROOT}":/recipe_root \
-v "${FEEDSTOCK_ROOT}":/feedstock_root \
-e HOST_USER_ID="${HOST_USER_ID}" \
-a stdin -a stdout -a stderr \
condaforge/linux-anvil \
bash || exit $?
bash || exit 1

set -e
set +x
export BINSTAR_TOKEN=${BINSTAR_TOKEN}
set -x
export PYTHONUNBUFFERED=1

echo "$config" > ~/.condarc
# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artefacts.
conda clean --lock

conda update --yes --all
conda install --yes conda-build
conda info
conda install --yes --quiet conda-forge-build-setup
source run_conda_forge_build_setup

# Embarking on 1 case(s).
conda build /recipe_root --quiet || exit 1
/feedstock_root/ci_support/upload_or_check_non_existence.py /recipe_root conda-forge --channel=main || exit 1
upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1
touch /feedstock_root/build_artefacts/conda-forge-build-done
EOF

# double-check that the build got to the end
# see https://github.com/conda-forge/conda-smithy/pull/337
# for a possible fix
set -x
test -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done" || exit 1
Loading