anaconda-graveyard / conda-concourse-ci

Conda-driven Concourse CI for package building
BSD 3-Clause "New" or "Revised" License
13 stars 29 forks source link

Add --noarch-build-subdir option #172

Open mingwandroid opened 3 years ago

mingwandroid commented 3 years ago

It would be nice to know that we can still build noarch and noarch python on other OSes (well, except Windows at present). This allows that.

Also, in combination with --output-dir it allows building locally as would happen on c3i. A sample script to glue this together is:

#!/usr/bin/env bash

set -e
FS_STUB=$1

__conda_setup="$(/opt/conda/bin/conda 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
fi

if [[ $(uname) == Darwin ]]; then
  BUILD_SUBDIR=osx-64
elif [[ $(uname) =~ M.* ]]; then
  BUILD_SUBDIR=win-64
else
  BUILD_SUBDIR=linux-64
fi

mkdir /tmp/$$.c3i-locally
pushd /tmp/$$.c3i-locally
  conda activate
  cp -rf /opt/r/a/$FS_STUB-feedstock .
  cp -f /opt/r/a/conda_build_config.yaml .
  c3i one-off rdonnelly.$FS_STUB  \
              $FS_STUB-feedstock  \
              --config-root-dir=/opt/asrc/automated-build/c3i_configurations/github_public  \
              --dry-run  \
              --output-dir $PWD  \
              --noarch-build-subdir ${BUILD_SUBDIR}  \
              --no-skip-existing
  mkdir rsync-recipes
  cp -rf *-on-* rsync-recipes/
  mkdir stats
  cmds=$(cat plan.yml | yq -r '.jobs[0].plan[] | select(.task=="build").config.run.args[1]')
  echo $cmds
  conda deactivate
  eval ${cmds}
popd