diff --git a/.travis.yml b/.travis.yml index 3aa5f2648..559a48fec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,32 +6,32 @@ env: global: - secure: "DUk/Ihg8KbbzEgPF0qrHqlxU8e8eET9i/BtzNvFddIGX4HP/P2qz0nk3cVkmjuWhqJXSbC22RdKME9qqPzw6fJwJ6dpJ3OR6dDmSd7rewavq+niwxu52PVa+yK8mL4yf1terM7QQ5tIRf+yUL9qGKrZ2xyvEuRit6d4cFep43Ws=" matrix: - - BUILD_SOC=0 - - BUILD_SOC=1 -before_install: - - mkdir -p $HOME/.mlabs - - if [ $TRAVIS_PULL_REQUEST != false ]; then BUILD_SOC=0; fi - - if [ $BUILD_SOC -ne 0 ]; then ./.travis/get-xilinx.sh; fi - - . ./.travis/get-toolchain.sh - - . ./.travis/get-anaconda.sh - - echo "BUILD_SOC=$BUILD_SOC" >> $HOME/.mlabs/build_settings.sh - - source $HOME/miniconda/bin/activate py35 - - conda install -q pip coverage anaconda-client migen cython - - pip install coveralls + - BUILD_SOC=none install: + - mkdir -p $HOME/.mlabs + - if [ $TRAVIS_PULL_REQUEST != false ]; then BUILD_SOC=none; fi + - if [ $BUILD_SOC != none ]; then ./.travis/get-xilinx.sh; ./.travis/get-toolchain.sh; fi + - . ./.travis/get-anaconda.sh + - source $HOME/miniconda/bin/activate py35 + - conda install -q pip coverage anaconda-client migen=0.0 cython + - pip install coveralls # workaround for https://github.com/conda/conda-build/issues/466 - mkdir -p /home/travis/miniconda/conda-bld/linux-64 - conda index /home/travis/miniconda/conda-bld/linux-64 - - conda build --python 3.5 conda/artiq - - conda install -q artiq --use-local script: - - coverage run --source=artiq setup.py test - - make -C doc/manual html + - conda build --python 3.5 conda/artiq + - conda install -q --use-local artiq + - | + if [ $BUILD_SOC == none ]; then + PACKAGES="$(conda build --output --python 3.5 conda/artiq) $PACKAGES" + coverage run --source=artiq setup.py test + make -C doc/manual html + fi after_success: - | - if [ "$TRAVIS_BRANCH" == "master" -a $BUILD_SOC -eq 1 ]; then + if [ "$TRAVIS_BRANCH" == "master" -a "$PACKAGES" != "" ]; then anaconda -q login --hostname $(hostname) --username $binstar_login --password $binstar_password - anaconda -q upload --user $binstar_login --channel dev --force $HOME/miniconda/conda-bld/linux-64/artiq-*.tar.bz2 + anaconda -q upload --user $binstar_login --channel dev $PACKAGES anaconda -q logout fi - coveralls diff --git a/conda/artiq/build.sh b/conda/artiq/build.sh index 4d574de48..3786386a7 100755 --- a/conda/artiq/build.sh +++ b/conda/artiq/build.sh @@ -1,64 +1,3 @@ #!/bin/bash -BUILD_SETTINGS_FILE=$HOME/.mlabs/build_settings.sh - -if [ -f $BUILD_SETTINGS_FILE ] -then - source $BUILD_SETTINGS_FILE -fi - $PYTHON setup.py install --single-version-externally-managed --record=record.txt -git clone --recursive https://github.com/m-labs/misoc -export MSCDIR=$SRC_DIR/misoc - -ARTIQ_PREFIX=$PREFIX/lib/python3.5/site-packages/artiq -BIN_PREFIX=$ARTIQ_PREFIX/binaries/ -mkdir -p $ARTIQ_PREFIX/misc -mkdir -p $BIN_PREFIX/kc705 $BIN_PREFIX/pipistrello - -# build for KC705 NIST_QC1 - -cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_kc705 build-headers build-bios; cd - -make -C soc/runtime clean runtime.fbi -[ "$BUILD_SOC" != "0" ] && (cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_kc705 $MISOC_EXTRA_VIVADO_CMDLINE build-bitstream) - -# install KC705 NIST_QC1 binaries - -mkdir -p $BIN_PREFIX/kc705/nist_qc1 -cp soc/runtime/runtime.fbi $BIN_PREFIX/kc705/nist_qc1/ -cp $SRC_DIR/misoc/software/bios/bios.bin $BIN_PREFIX/kc705/ -[ "$BUILD_SOC" != "0" ] && cp $SRC_DIR/misoc/build/artiq_kc705-nist_qc1-kc705.bit $BIN_PREFIX/kc705/ -wget http://sionneau.net/artiq/binaries/kc705/flash_proxy/bscan_spi_kc705.bit -mv bscan_spi_kc705.bit $BIN_PREFIX/kc705/ - -# build for Pipistrello - -cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_pipistrello build-headers build-bios; cd - -make -C soc/runtime clean runtime.fbi -[ "$BUILD_SOC" != "0" ] && (cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_pipistrello $MISOC_EXTRA_ISE_CMDLINE build-bitstream) - -# install Pipistrello binaries - -cp soc/runtime/runtime.fbi $BIN_PREFIX/pipistrello/ -cp $SRC_DIR/misoc/software/bios/bios.bin $BIN_PREFIX/pipistrello/ -[ "$BUILD_SOC" != "0" ] && cp $SRC_DIR/misoc/build/artiq_pipistrello-nist_qc1-pipistrello.bit $BIN_PREFIX/pipistrello/ -wget https://people.phys.ethz.ch/~robertjo/bscan_spi_lx45_csg324.bit -mv bscan_spi_lx45_csg324.bit $BIN_PREFIX/pipistrello/ - -# build for KC705 NIST_QC2 - -cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_kc705 -s NIST_QC2 build-headers; cd - -make -C soc/runtime clean runtime.fbi -[ "$BUILD_SOC" != "0" ] && (cd $SRC_DIR/misoc; $PYTHON make.py -X ../soc -t artiq_kc705 -s NIST_QC2 $MISOC_EXTRA_VIVADO_CMDLINE build-bitstream) - -# install KC705 NIST_QC2 binaries - -mkdir -p $BIN_PREFIX/kc705/nist_qc2 -cp soc/runtime/runtime.fbi $BIN_PREFIX/kc705/nist_qc2/ -[ "$BUILD_SOC" != "0" ] && cp $SRC_DIR/misoc/build/artiq_kc705-nist_qc2-kc705.bit $BIN_PREFIX/kc705/ - -cp artiq/frontend/artiq_flash.sh $PREFIX/bin - -# misc -cp misc/99-papilio.rules $ARTIQ_PREFIX/misc/ -cp misc/99-kc705.rules $ARTIQ_PREFIX/misc/ diff --git a/conda/artiq/meta.yaml b/conda/artiq/meta.yaml index 50c37d14a..f6f24e2f3 100644 --- a/conda/artiq/meta.yaml +++ b/conda/artiq/meta.yaml @@ -7,7 +7,7 @@ source: git_tag: master build: - noarch_python: True + noarch_python: true number: {{ environ.get("GIT_DESCRIBE_NUMBER", 0) }} string: py_{{ environ.get("GIT_DESCRIBE_NUMBER", 0) }}+git{{ environ.get("GIT_DESCRIBE_HASH", "")[1:] }} entry_points: