You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by di...@apache.org on 2022/04/25 16:10:09 UTC

[allura] 01/02: [#8427] fix for jenkins failing on forgegit

This is an automated email from the ASF dual-hosted git repository.

dill0wn pushed a commit to branch dw/8427
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 8dd1b57a7f16aae99d843125993bba3878a2d76a
Author: Dillon Walls <di...@slashdotmedia.com>
AuthorDate: Wed Apr 20 12:01:13 2022 -0400

    [#8427] fix for jenkins failing on forgegit
---
 Dockerfile                   | 11 ++++++---
 scripts/jenkins-python3.7.sh | 56 ++++++++++++++++++++++++++++++++++----------
 2 files changed, 51 insertions(+), 16 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 340b3e09b..7ce6336dd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -21,10 +21,13 @@ FROM ubuntu:18.04
 # In order to get python3.7, we must add the deadsnakes apt repo, and install 3.7 specifically
 RUN apt-get update \
     && apt-get install software-properties-common -y --no-install-recommends \
-    && add-apt-repository ppa:deadsnakes/ppa
+    && add-apt-repository ppa:deadsnakes/ppa -y \
+    && add-apt-repository ppa:git-core/ppa -y \
+    && apt-get update
+    
+RUN apt-get upgrade -y git
 
-RUN apt-get update \
-    && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
         git-core \
         python3.7 \
         python3.7-venv \
@@ -46,6 +49,8 @@ RUN apt-get update \
         sudo \
     && rm -rf /var/lib/apt/lists/*
 
+# RUN git config --global --add safe.directory /allura/ForgeGit/forgegit/tests/data/*.git
+
 # up-to-date version of node & npm
 RUN curl --silent --location https://deb.nodesource.com/setup_10.x | sudo bash - && \
     DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends nodejs
diff --git a/scripts/jenkins-python3.7.sh b/scripts/jenkins-python3.7.sh
index 1cf42179a..5e02882e3 100755
--- a/scripts/jenkins-python3.7.sh
+++ b/scripts/jenkins-python3.7.sh
@@ -20,18 +20,30 @@
 
 IMAGE_TAG=allura
 
+# this fixes the input device is not a TTY .. see https://github.com/docker/compose/issues/5696
+# export COMPOSE_INTERACTIVE_NO_CLI=1
+
 echo
 echo "============================================================================="
 echo "Jenkins Host Info:"
 echo "============================================================================="
+touch "foo.txt"
 echo -n 'cpu count: '; grep -c processor /proc/cpuinfo 
 echo hostname: `hostname --short`
+echo whoami: `whoami`
 echo NODE_NAME: $NODE_NAME
+echo docker: 
+docker version
+echo docker compose: 
+docker-compose version
 echo path: $PATH
 echo workspace: $WORKSPACE
 echo jenkins_home: $JENKINS_HOME
 echo home: $HOME
 echo pwd: `pwd`
+ls -lAh
+ls -lAh ./scripts/
+ls -lAh ../
 env
 
 echo
@@ -41,36 +53,54 @@ echo "==========================================================================
 rm -rf ./allura-data
 git clean -f -x  # remove test.log, nosetest.xml etc (don't use -d since it'd remove our venv dir)
 
+docker-compose down
+
 echo
 echo "============================================================================="
 echo "Run: build docker image"
 echo "============================================================================="
 docker-compose build
 
+echo
+echo "============================================================================="
+echo "Setup: venv, pip, pysvn, ./rebuild-all.sh, npm, etc."
+echo "============================================================================="
+docker-compose run web scripts/init-docker-dev.sh
+
+echo
+echo "============================================================================="
+echo "Starting up docker containers"
+echo "============================================================================="
+docker-compose up -d web
+
 echo
 echo "============================================================================="
 echo "Docker Container Info:"
 echo "============================================================================="
-docker-compose run web bash -c '
+docker-compose exec -T web bash -c '
 echo python path: `which python; python -V`;
 echo python3.7 path: `which python3.7; python3.7 -V`;
 git --version;
 svn --version;
 echo pip: `pip3 --version`;
-echo npm: `npm --version`;'
-
-echo
-echo "============================================================================="
-echo "Setup: venv, pip, pysvn, ./rebuild-all.sh, npm, etc."
-echo "============================================================================="
-docker-compose run web scripts/init-docker-dev.sh
+echo npm: `npm --version`;
+echo whoami: `whoami`;
+ls -lAh /allura;
+ls -lAh /allura/;
+ls -lAh /allura/ForgeGit/forgegit/tests/data/;
+ls -lAh /allura/ForgeGit/forgegit/tests/data/*.git;
+'
 
 echo
 echo "============================================================================="
 echo "Setup: tests"
 echo "============================================================================="
 # set up test dependencies
-docker-compose run web pip install -r requirements-dev.txt
+docker-compose exec -T web pip install -q -r requirements-dev.txt
+
+# make test git repos safe to run even though owned by different user
+docker-compose exec -T web chown root:root -R /allura
+docker-compose exec -T web git config --global --add safe.directory '*'
 
 echo
 echo "============================================================================="
@@ -78,14 +108,14 @@ echo "Run: tests"
 echo "============================================================================="
 
 # use "Allura* Forge* scripts" instead of "." so that .allura-venv doesn't get checked too (and '.' gives './' prefixed results which don't work out)
-docker-compose run web pyflakes Allura* Forge* scripts | awk -F\: '{printf "%s:%s: [E]%s\n", $1, $2, $3}' > pyflakes.txt
-docker-compose run web pycodestyle Allura* Forge* scripts > pep8.txt
+docker-compose exec -T web bash -c "pyflakes Allura* Forge* scripts | awk -F\: '{printf \"%s:%s: [E]%s\n\", \$1, \$2, \$3}' > pyflakes.txt"
+docker-compose exec -T web bash -c "pycodestyle Allura* Forge* scripts > pep8.txt"
 
 # TODO: ALLURA_VALIDATION=all
-docker-compose run -e LANG=en_US.UTF-8 web ./run_tests --with-xunitmp # --with-coverage --cover-erase
+docker-compose exec -T -e LANG=en_US.UTF-8 web ./run_tests --with-xunitmp # --with-coverage --cover-erase
 retcode=$?
 
-#find . -name .coverage -maxdepth 2 | while read coveragefile; do pushd `dirname $coveragefile`; coverage xml --include='forge*,allura*'; popd; done;
+find . -name .coverage -maxdepth 2 | while read coveragefile; do pushd `dirname $coveragefile`; coverage xml --include='forge*,allura*'; popd; done;
 
 echo
 echo "============================================================================="