diff --git a/.circleci/config.yml b/.circleci/config.yml index 50e4b6693..060cbd0de 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,9 +7,6 @@ executors: doxygen: docker: - image: hrektts/doxygen - python: - docker: - - image: 3.7.7-stretch restore-workspace: &restore-workspace @@ -156,8 +153,6 @@ jobs: - checkout - attach_workspace: at: workspace - - run: pyenv versions - # - run: pyenv global 3.6.0 - run: ls -laR workspace - run: ci_scripts/ci_upload.sh workspace/py-docs workspace/wheelhouse workspace/c-docs @@ -192,8 +187,8 @@ workflows: filters: branches: only: master - tags: - only: /.*/ + #tags: + # only: /.*/ - upload_docs_wheels: requires: diff --git a/ci_scripts/ci_upload.sh b/ci_scripts/ci_upload.sh index e357b9617..aedc51724 100755 --- a/ci_scripts/ci_upload.sh +++ b/ci_scripts/ci_upload.sh @@ -10,9 +10,13 @@ set -xe PYDOCDIR=${1:?directory with python docs} WHEELHOUSEDIR=${2:?directory with pre-built wheels} DOXYDOCDIR=${3:?directory where doxygen docs to be found} +SSHTARGET=ci@b1.delta.chat + export BRANCH=${CIRCLE_BRANCH:?specify branch for uploading purposes} +export BUILDDIR=ci_builds/$REPONAME/$BRANCH/${CIRCLE_JOB:?jobname}/${CIRCLE_BUILD_NUM:?circle-build-number}/wheelhouse + # python docs to py.delta.chat ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null delta@py.delta.chat mkdir -p build/${BRANCH} @@ -35,23 +39,36 @@ echo upload wheels echo ----------------------- # Bundle external shared libraries into the wheels -pushd $WHEELHOUSEDIR -pip3 install -U pip setuptools -pip3 install devpi-client -devpi use https://m.devpi.net -devpi login dc --password $DEVPI_LOGIN +ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $SSHTARGET mkdir -p $BUILDDIR +scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ci_scripts/cleanup_devpi_indices.py $SSHTARGET:$BUILDDIR +rsync -avz \ + -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \ + $WHEELHOUSEDIR \ + $SSHTARGET:$BUILDDIR -N_BRANCH=${BRANCH//[\/]} +ssh $SSHTARGET <<_HERE + set +x -e + # make sure all processes exit when ssh dies + shopt -s huponexit -devpi use dc/$N_BRANCH || { - devpi index -c $N_BRANCH - devpi use dc/$N_BRANCH -} -devpi index $N_BRANCH bases=/root/pypi -devpi upload deltachat* + # we rely on the "venv" virtualenv on the remote account to exist + source venv/bin/activate + cd $BUILDDIR -popd + devpi use https://m.devpi.net + devpi login dc --password $DEVPI_LOGIN -# remove devpi non-master dc indices if thy are too old -python ci_scripts/cleanup_devpi_indices.py + N_BRANCH=${BRANCH//[\/]} + + devpi use dc/\$N_BRANCH || { + devpi index -c \$N_BRANCH + devpi use dc/\$N_BRANCH + } + devpi index \$N_BRANCH bases=/root/pypi + devpi upload wheelhouse/deltachat* + + # remove devpi non-master dc indices if thy are too old + # this script was copied above + python cleanup_devpi_indices.py +_HERE