From bd2f43884358b37259861870098538eea35b4eff Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 13:48:08 -0400 Subject: [PATCH 01/40] Replace the TravisCI Python 3.6 config with CircleCI Python 3.6 config --- .circleci/config.yml | 12 +++++++++++- .travis.yml | 40 ---------------------------------------- 2 files changed, 11 insertions(+), 41 deletions(-) delete mode 100644 .travis.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index d0f596fc7..9654905d7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,6 +30,9 @@ workflows: # Test against PyPy 2.7 - "pypy2.7-buster" + # Just one Python 3.6 configuration while the port is in-progress. + - "python3.6" + # Other assorted tasks and configurations - "lint" - "pyinstaller" @@ -261,13 +264,20 @@ jobs: user: "nobody" - ubuntu-18.04: + ubuntu-18.04: &UBUNTU_18_04 <<: *DEBIAN docker: - image: "tahoelafsci/ubuntu:18.04" user: "nobody" + python3.6: + <<: *UBUNTU_18_04 + environment: + <<: *UTF_8_ENVIRONMENT + TAHOE_LAFS_TOX_ENVIRONMENT: "py36" + + centos-8: &RHEL_DERIV docker: - image: "tahoelafsci/centos:8" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 40f351ae6..000000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -sudo: false -language: python -cache: pip -dist: xenial -before_cache: - - rm -f $HOME/.cache/pip/log/debug.log -git: - depth: 1000 - -env: - global: - - TAHOE_LAFS_HYPOTHESIS_PROFILE=ci - -install: - - pip install --upgrade tox setuptools virtualenv - - echo $PATH; which python; which pip; which tox - - python misc/build_helpers/show-tool-versions.py - -script: - - | - set -eo pipefail - tox -e ${T} - -notifications: - email: false - irc: - channels: "chat.freenode.net#tahoe-lafs" - on_success: always # for testing - on_failure: always - template: - - "%{repository}#%{build_number} [%{branch}: %{commit} by %{author}] %{message}" - - "Changes: %{compare_url} | Details: %{build_url}" - -matrix: - include: - - os: linux - python: '3.6' - env: T=py36 - - fast_finish: true From b0a5a65f4f8494c8d8d19014a31ae67fb4d9fcc9 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 16:23:42 -0400 Subject: [PATCH 02/40] Attempt to enable a Python 3 CircleCI job --- .circleci/Dockerfile.centos | 7 ++++--- .circleci/Dockerfile.debian | 7 ++++--- .circleci/Dockerfile.fedora | 7 ++++--- .circleci/Dockerfile.slackware | 5 +++-- .circleci/Dockerfile.ubuntu | 7 ++++--- .circleci/config.yml | 22 ++++++++++++++++++++++ 6 files changed, 41 insertions(+), 14 deletions(-) diff --git a/.circleci/Dockerfile.centos b/.circleci/Dockerfile.centos index febb61545..632e13137 100644 --- a/.circleci/Dockerfile.centos +++ b/.circleci/Dockerfile.centos @@ -1,4 +1,5 @@ ARG TAG +ARG PYTHON_VERSION FROM centos:${TAG} ENV WHEELHOUSE_PATH /tmp/wheelhouse @@ -11,8 +12,8 @@ RUN yum install --assumeyes \ git \ sudo \ make automake gcc gcc-c++ \ - python2 \ - python2-devel \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-devel \ libffi-devel \ openssl-devel \ libyaml \ @@ -23,4 +24,4 @@ RUN yum install --assumeyes \ # *update* this checkout on each job run, saving us more time per-job. COPY . ${BUILD_SRC_ROOT} -RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python2.7" +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python${PYTHON_VERSION}" diff --git a/.circleci/Dockerfile.debian b/.circleci/Dockerfile.debian index de16148e0..394495e17 100644 --- a/.circleci/Dockerfile.debian +++ b/.circleci/Dockerfile.debian @@ -1,4 +1,5 @@ ARG TAG +ARG PYTHON_VERSION FROM debian:${TAG} ENV WHEELHOUSE_PATH /tmp/wheelhouse @@ -12,8 +13,8 @@ RUN apt-get --quiet update && \ lsb-release \ sudo \ build-essential \ - python2.7 \ - python2.7-dev \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ libffi-dev \ libssl-dev \ libyaml-dev \ @@ -23,7 +24,7 @@ RUN apt-get --quiet update && \ # *update* this checkout on each job run, saving us more time per-job. COPY . ${BUILD_SRC_ROOT} -RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python2.7" +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python${PYTHON_VERSION}" # Only the integration tests currently need this but it doesn't hurt to always # have it present and it's simpler than building a whole extra image just for diff --git a/.circleci/Dockerfile.fedora b/.circleci/Dockerfile.fedora index 6ad22d676..f17140f3e 100644 --- a/.circleci/Dockerfile.fedora +++ b/.circleci/Dockerfile.fedora @@ -1,4 +1,5 @@ ARG TAG +ARG PYTHON_VERSION FROM fedora:${TAG} ENV WHEELHOUSE_PATH /tmp/wheelhouse @@ -11,8 +12,8 @@ RUN yum install --assumeyes \ git \ sudo \ make automake gcc gcc-c++ \ - python \ - python-devel \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-devel \ libffi-devel \ openssl-devel \ libyaml-devel \ @@ -23,4 +24,4 @@ RUN yum install --assumeyes \ # *update* this checkout on each job run, saving us more time per-job. COPY . ${BUILD_SRC_ROOT} -RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python2.7" +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python${PYTHON_VERSION}" diff --git a/.circleci/Dockerfile.slackware b/.circleci/Dockerfile.slackware index 73ba6b32d..97ee07609 100644 --- a/.circleci/Dockerfile.slackware +++ b/.circleci/Dockerfile.slackware @@ -1,4 +1,5 @@ ARG TAG +ARG PYTHON_VERSION FROM vbatts/slackware:${TAG} ENV WHEELHOUSE_PATH /tmp/wheelhouse @@ -23,7 +24,7 @@ RUN slackpkg update && \ binutils-2 \ gcc-5 \ gcc-g++-5 \ - python-2 \ + python-${PYTHON_VERSION} \ libffi-3 \ libyaml-0 \ sqlite-3 \ @@ -46,4 +47,4 @@ RUN slackpkg install \ # *update* this checkout on each job run, saving us more time per-job. COPY . ${BUILD_SRC_ROOT} -RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python2.7" +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python${PYTHON_VERSION}" diff --git a/.circleci/Dockerfile.ubuntu b/.circleci/Dockerfile.ubuntu index 882dfe308..4ca2319a9 100644 --- a/.circleci/Dockerfile.ubuntu +++ b/.circleci/Dockerfile.ubuntu @@ -1,4 +1,5 @@ ARG TAG +ARG PYTHON_VERSION FROM ubuntu:${TAG} ENV WHEELHOUSE_PATH /tmp/wheelhouse @@ -13,8 +14,8 @@ RUN apt-get --quiet update && \ apt-get --quiet --yes install \ sudo \ build-essential \ - python2.7 \ - python2.7-dev \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ libffi-dev \ libssl-dev \ libyaml-dev \ @@ -26,4 +27,4 @@ RUN apt-get --quiet update && \ # *update* this checkout on each job run, saving us more time per-job. COPY . ${BUILD_SRC_ROOT} -RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python2.7" +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" "python${PYTHON_VERSION}" diff --git a/.circleci/config.yml b/.circleci/config.yml index 9654905d7..dd423e2af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -73,6 +73,7 @@ workflows: - "build-image-centos-8" - "build-image-slackware-14.2" - "build-image-pypy-2.7-buster" + - "build-image-python36-ubuntu" jobs: @@ -449,6 +450,7 @@ jobs: docker \ build \ --build-arg TAG=${TAG} \ + --build-arg PYTHON_VERSION=${PYTHON_VERSION:-python2} -t tahoelafsci/${DISTRO}:${TAG} \ -f ~/project/.circleci/Dockerfile.${DISTRO} \ ~/project/ @@ -464,6 +466,7 @@ jobs: environment: DISTRO: "debian" TAG: "8" + PYTHON_VERSION: "2.7" build-image-debian-9: @@ -472,6 +475,7 @@ jobs: environment: DISTRO: "debian" TAG: "9" + PYTHON_VERSION: "2.7" build-image-ubuntu-16.04: @@ -480,6 +484,7 @@ jobs: environment: DISTRO: "ubuntu" TAG: "16.04" + PYTHON_VERSION: "2.7" build-image-ubuntu-18.04: @@ -488,6 +493,16 @@ jobs: environment: DISTRO: "ubuntu" TAG: "18.04" + PYTHON_VERSION: "2.7" + + + build-image-python36-ubuntu: + <<: *BUILD_IMAGE + + environment: + DISTRO: "ubuntu" + TAG: "18.04" + PYTHON_VERSION: "3" build-image-centos-8: @@ -496,6 +511,7 @@ jobs: environment: DISTRO: "centos" TAG: "8" + PYTHON_VERSION: "2" build-image-fedora-28: @@ -504,6 +520,8 @@ jobs: environment: DISTRO: "fedora" TAG: "28" + # The default on Fedora (this version anyway) is still Python 2. + PYTHON_VERSION: "" build-image-fedora-29: @@ -520,6 +538,7 @@ jobs: environment: DISTRO: "slackware" TAG: "14.2" + PYTHON_VERSION: "2" build-image-pypy-2.7-buster: @@ -528,3 +547,6 @@ jobs: environment: DISTRO: "pypy" TAG: "2.7-buster" + # We only have Python 2 for PyPy right now so there's no support for + # setting up PyPy 3 in the image building toolchain.. + PYTHON_VERSION: "" From a2f78ca7034c8cc231c7cc9f1c39c1fa6859233b Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 16:26:49 -0400 Subject: [PATCH 03/40] don't have a default --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd423e2af..04b208e34 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -450,7 +450,7 @@ jobs: docker \ build \ --build-arg TAG=${TAG} \ - --build-arg PYTHON_VERSION=${PYTHON_VERSION:-python2} + --build-arg PYTHON_VERSION=${PYTHON_VERSION} -t tahoelafsci/${DISTRO}:${TAG} \ -f ~/project/.circleci/Dockerfile.${DISTRO} \ ~/project/ From 95050fefd6f5e66ef17c98ef98f7d02b1848196c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 16:26:56 -0400 Subject: [PATCH 04/40] do have line continuation --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 04b208e34..dcaf6cf14 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -450,7 +450,7 @@ jobs: docker \ build \ --build-arg TAG=${TAG} \ - --build-arg PYTHON_VERSION=${PYTHON_VERSION} + --build-arg PYTHON_VERSION=${PYTHON_VERSION} \ -t tahoelafsci/${DISTRO}:${TAG} \ -f ~/project/.circleci/Dockerfile.${DISTRO} \ ~/project/ From 704f751b06204ff7794771cb71c0b62950a7a13d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 16:45:10 -0400 Subject: [PATCH 05/40] untabify --- .circleci/Dockerfile.debian | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/Dockerfile.debian b/.circleci/Dockerfile.debian index 394495e17..87d5487d6 100644 --- a/.circleci/Dockerfile.debian +++ b/.circleci/Dockerfile.debian @@ -9,16 +9,16 @@ ENV BUILD_SRC_ROOT /tmp/project RUN apt-get --quiet update && \ apt-get --quiet --yes install \ - git \ - lsb-release \ + git \ + lsb-release \ sudo \ - build-essential \ - python${PYTHON_VERSION} \ - python${PYTHON_VERSION}-dev \ - libffi-dev \ - libssl-dev \ - libyaml-dev \ - virtualenv + build-essential \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ + libffi-dev \ + libssl-dev \ + libyaml-dev \ + virtualenv # Get the project source. This is better than it seems. CircleCI will # *update* this checkout on each job run, saving us more time per-job. From ee32b3555ac8ee7880709e26e65dfa47a1737cb4 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 17 Jul 2020 20:00:13 -0400 Subject: [PATCH 06/40] Burn the Python version into the Docker image tag --- .circleci/config.yml | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dcaf6cf14..77b661ab9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -121,7 +121,7 @@ jobs: debian-9: &DEBIAN docker: - - image: "tahoelafsci/debian:9" + - image: "tahoelafsci/debian:9-py2" user: "nobody" environment: &UTF_8_ENVIRONMENT @@ -198,14 +198,14 @@ jobs: debian-8: <<: *DEBIAN docker: - - image: "tahoelafsci/debian:8" + - image: "tahoelafsci/debian:8-py2" user: "nobody" pypy2.7-buster: <<: *DEBIAN docker: - - image: "tahoelafsci/pypy:2.7-buster" + - image: "tahoelafsci/pypy:buster-py2" user: "nobody" environment: @@ -261,19 +261,23 @@ jobs: ubuntu-16.04: <<: *DEBIAN docker: - - image: "tahoelafsci/ubuntu:16.04" + - image: "tahoelafsci/ubuntu:16.04-py2" user: "nobody" ubuntu-18.04: &UBUNTU_18_04 <<: *DEBIAN docker: - - image: "tahoelafsci/ubuntu:18.04" + - image: "tahoelafsci/ubuntu:18.04-py2" user: "nobody" python3.6: <<: *UBUNTU_18_04 + docker: + - image: "tahoelafsci/ubuntu:18.04-py3" + user: "nobody" + environment: <<: *UTF_8_ENVIRONMENT TAHOE_LAFS_TOX_ENVIRONMENT: "py36" @@ -281,7 +285,7 @@ jobs: centos-8: &RHEL_DERIV docker: - - image: "tahoelafsci/centos:8" + - image: "tahoelafsci/centos:8-py2" user: "nobody" environment: *UTF_8_ENVIRONMENT @@ -303,20 +307,20 @@ jobs: fedora-28: <<: *RHEL_DERIV docker: - - image: "tahoelafsci/fedora:28" + - image: "tahoelafsci/fedora:28-py2" user: "nobody" fedora-29: <<: *RHEL_DERIV docker: - - image: "tahoelafsci/fedora:29" + - image: "tahoelafsci/fedora:29-py2" user: "nobody" slackware-14.2: docker: - - image: "tahoelafsci/slackware:14.2" + - image: "tahoelafsci/slackware:14.2-py2" user: "nobody" environment: *UTF_8_ENVIRONMENT @@ -397,8 +401,9 @@ jobs: - image: "docker:17.05.0-ce-git" environment: - DISTRO: "tahoelafsci/:foo" - TAG: "tahoelafsci/distro:" + DISTRO: "tahoelafsci/:foo-py2" + TAG: "tahoelafsci/distro:-py2" + PYTHON_VERSION: "tahoelafsci/distro:tag-py Date: Fri, 17 Jul 2020 20:36:17 -0400 Subject: [PATCH 07/40] FROM creates a new build stage which discards all prior ARGs --- .circleci/Dockerfile.centos | 2 +- .circleci/Dockerfile.debian | 2 +- .circleci/Dockerfile.fedora | 2 +- .circleci/Dockerfile.slackware | 2 +- .circleci/Dockerfile.ubuntu | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/Dockerfile.centos b/.circleci/Dockerfile.centos index 632e13137..9070d71d9 100644 --- a/.circleci/Dockerfile.centos +++ b/.circleci/Dockerfile.centos @@ -1,6 +1,6 @@ ARG TAG -ARG PYTHON_VERSION FROM centos:${TAG} +ARG PYTHON_VERSION ENV WHEELHOUSE_PATH /tmp/wheelhouse ENV VIRTUALENV_PATH /tmp/venv diff --git a/.circleci/Dockerfile.debian b/.circleci/Dockerfile.debian index 87d5487d6..96c54736c 100644 --- a/.circleci/Dockerfile.debian +++ b/.circleci/Dockerfile.debian @@ -1,6 +1,6 @@ ARG TAG -ARG PYTHON_VERSION FROM debian:${TAG} +ARG PYTHON_VERSION ENV WHEELHOUSE_PATH /tmp/wheelhouse ENV VIRTUALENV_PATH /tmp/venv diff --git a/.circleci/Dockerfile.fedora b/.circleci/Dockerfile.fedora index f17140f3e..e60dbb85d 100644 --- a/.circleci/Dockerfile.fedora +++ b/.circleci/Dockerfile.fedora @@ -1,6 +1,6 @@ ARG TAG -ARG PYTHON_VERSION FROM fedora:${TAG} +ARG PYTHON_VERSION ENV WHEELHOUSE_PATH /tmp/wheelhouse ENV VIRTUALENV_PATH /tmp/venv diff --git a/.circleci/Dockerfile.slackware b/.circleci/Dockerfile.slackware index 97ee07609..4b6d96f95 100644 --- a/.circleci/Dockerfile.slackware +++ b/.circleci/Dockerfile.slackware @@ -1,6 +1,6 @@ ARG TAG -ARG PYTHON_VERSION FROM vbatts/slackware:${TAG} +ARG PYTHON_VERSION ENV WHEELHOUSE_PATH /tmp/wheelhouse ENV VIRTUALENV_PATH /tmp/venv diff --git a/.circleci/Dockerfile.ubuntu b/.circleci/Dockerfile.ubuntu index 4ca2319a9..2fcc60f5a 100644 --- a/.circleci/Dockerfile.ubuntu +++ b/.circleci/Dockerfile.ubuntu @@ -1,6 +1,6 @@ ARG TAG -ARG PYTHON_VERSION FROM ubuntu:${TAG} +ARG PYTHON_VERSION ENV WHEELHOUSE_PATH /tmp/wheelhouse ENV VIRTUALENV_PATH /tmp/venv From b99ec195cdb86d51a8d1fbb532d289715c735269 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:29:08 -0400 Subject: [PATCH 08/40] See if this helps the py36 zfec installation --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 77b661ab9..6dbdf8ff4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -281,6 +281,8 @@ jobs: environment: <<: *UTF_8_ENVIRONMENT TAHOE_LAFS_TOX_ENVIRONMENT: "py36" + # zfec 1.5.3 is uninstallable without a utf-8 locale + LC_ALL: "en_US.utf-8" centos-8: &RHEL_DERIV From ec7531f1138d3ccedb07027afb9592f510d73b2c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:40:04 -0400 Subject: [PATCH 09/40] maybe this will let it get to the right place --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index ab467abd0..205fe1531 100644 --- a/tox.ini +++ b/tox.ini @@ -50,7 +50,7 @@ commands = [testenv:py36] # git inside of ratchet.sh needs $HOME. -passenv = HOME +passenv = HOME LC_ALL commands = {toxinidir}/misc/python3/ratchet.sh [testenv:integration] From 8348e7032b24b01dda7270f73613a792f0a15fcc Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:53:27 -0400 Subject: [PATCH 10/40] this is basically already set (LANG in UTF_8_ENVIRONMENT) --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6dbdf8ff4..77b661ab9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -281,8 +281,6 @@ jobs: environment: <<: *UTF_8_ENVIRONMENT TAHOE_LAFS_TOX_ENVIRONMENT: "py36" - # zfec 1.5.3 is uninstallable without a utf-8 locale - LC_ALL: "en_US.utf-8" centos-8: &RHEL_DERIV From a513c7ab28573b73bc65b56a573b9588b2d99ffc Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:53:40 -0400 Subject: [PATCH 11/40] try setting it in here --- tox.ini | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 205fe1531..9a11df98c 100644 --- a/tox.ini +++ b/tox.ini @@ -50,7 +50,9 @@ commands = [testenv:py36] # git inside of ratchet.sh needs $HOME. -passenv = HOME LC_ALL +passenv = HOME +setenv = + LANG=en_US.UTF-8 commands = {toxinidir}/misc/python3/ratchet.sh [testenv:integration] From 612afdcf7c572a509227f98bb276fcd1f9b07404 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:58:25 -0400 Subject: [PATCH 12/40] that is useless, the error is in the docker image build --- tox.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/tox.ini b/tox.ini index 9a11df98c..ab467abd0 100644 --- a/tox.ini +++ b/tox.ini @@ -51,8 +51,6 @@ commands = [testenv:py36] # git inside of ratchet.sh needs $HOME. passenv = HOME -setenv = - LANG=en_US.UTF-8 commands = {toxinidir}/misc/python3/ratchet.sh [testenv:integration] From ab9ccae1d19ca76bbd9f109f11533546693581c0 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 16:58:36 -0400 Subject: [PATCH 13/40] try doing the `pip wheel` with the right LANG --- .circleci/populate-wheelhouse.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/populate-wheelhouse.sh b/.circleci/populate-wheelhouse.sh index 75afb6f6f..519a80cac 100755 --- a/.circleci/populate-wheelhouse.sh +++ b/.circleci/populate-wheelhouse.sh @@ -36,8 +36,9 @@ PIP="${BOOTSTRAP_VENV}/bin/pip" # Tell pip where it can find any existing wheels. export PIP_FIND_LINKS="file://${WHEELHOUSE_PATH}" -# Populate the wheelhouse, if necessary. -"${PIP}" \ +# Populate the wheelhouse, if necessary. zfec 1.5.3 can only be built with a +# UTF-8 environment so make sure we have one, at least for this invocation. +LANG="en_US.UTF-8" "${PIP}" \ wheel \ --wheel-dir "${WHEELHOUSE_PATH}" \ "${PROJECT_ROOT}"[test] \ From 1b0f83599d196c84da2f4ad9961ee767e2ae4ff8 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 17:08:45 -0400 Subject: [PATCH 14/40] See if we can get the image names right --- .circleci/config.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 77b661ab9..203993f4e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -121,7 +121,7 @@ jobs: debian-9: &DEBIAN docker: - - image: "tahoelafsci/debian:9-py2" + - image: "tahoelafsci/debian:9-py2.7" user: "nobody" environment: &UTF_8_ENVIRONMENT @@ -198,7 +198,7 @@ jobs: debian-8: <<: *DEBIAN docker: - - image: "tahoelafsci/debian:8-py2" + - image: "tahoelafsci/debian:8-py2.7" user: "nobody" @@ -261,14 +261,14 @@ jobs: ubuntu-16.04: <<: *DEBIAN docker: - - image: "tahoelafsci/ubuntu:16.04-py2" + - image: "tahoelafsci/ubuntu:16.04-py2.7" user: "nobody" ubuntu-18.04: &UBUNTU_18_04 <<: *DEBIAN docker: - - image: "tahoelafsci/ubuntu:18.04-py2" + - image: "tahoelafsci/ubuntu:18.04-py2.7" user: "nobody" @@ -307,7 +307,7 @@ jobs: fedora-28: <<: *RHEL_DERIV docker: - - image: "tahoelafsci/fedora:28-py2" + - image: "tahoelafsci/fedora:28-py" user: "nobody" From a47bd93fd045551b7a716eb284987862b917c5ff Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 3 Aug 2020 17:12:15 -0400 Subject: [PATCH 15/40] news fragment --- newsfragments/3336.minor | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsfragments/3336.minor diff --git a/newsfragments/3336.minor b/newsfragments/3336.minor new file mode 100644 index 000000000..e69de29bb From 80136da0a60688756be0029402a2fe7b0ff2087d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 11:14:58 -0400 Subject: [PATCH 16/40] This Fedora probably also has no Python version tag --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 203993f4e..f5b33b106 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -314,7 +314,7 @@ jobs: fedora-29: <<: *RHEL_DERIV docker: - - image: "tahoelafsci/fedora:29-py2" + - image: "tahoelafsci/fedora:29-py" user: "nobody" From d6a80c891a8ec9796760dcf213eb8249f76dfb5d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 13:39:51 -0400 Subject: [PATCH 17/40] try to understand the CI failures --- misc/python3/ratchet.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index a6a2c53c3..ec67ea0a0 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -32,6 +32,11 @@ set -e if [ $TERM = 'dumb' ]; then export TERM=ansi fi -git diff "$tracking_filename" -exit $code +echo "The ${tracking_filename} diff is:" +echo "=================================" +git diff "${tracking_filename}" +echo "=================================" + +echo "Exiting with code ${code} from ratchet.py." +exit ${code} From 5736f9cdebdbd0c4415c354276982c3fb74ab19b Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 14:31:32 -0400 Subject: [PATCH 18/40] Let's just see, for fun --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index ec67ea0a0..e38999dd2 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -35,7 +35,7 @@ fi echo "The ${tracking_filename} diff is:" echo "=================================" -git diff "${tracking_filename}" +git diff -- "${tracking_filename}" echo "=================================" echo "Exiting with code ${code} from ratchet.py." From 1f3d24656750464c43d62e815c7f3a9944b6694d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 15:13:33 -0400 Subject: [PATCH 19/40] try to get more info --- misc/python3/ratchet.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index e38999dd2..da3c88e51 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -35,6 +35,12 @@ fi echo "The ${tracking_filename} diff is:" echo "=================================" +export GIT_TRACE=1 +export GIT_CURL_VERBOSE=2 +export GIT_TRACE_PACK_ACCESS=1 +export GIT_TRACE_PACKET=1 +export GIT_TRACE_PERFORMANCE=1 +export GIT_TRACE_SETUP=1 git diff -- "${tracking_filename}" echo "=================================" From b1e67774b427fe57678a403192aed2fe450ef27d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 15:46:46 -0400 Subject: [PATCH 20/40] Try getting the _trial_temp out of the working tree --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index da3c88e51..65a270560 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -11,7 +11,7 @@ cd "../.." # Since both of the next calls are expected to exit non-0, relax our guard. set +e -SUBUNITREPORTER_OUTPUT_PATH="$base/results.subunit2" trial --reporter subunitv2-file allmydata +SUBUNITREPORTER_OUTPUT_PATH="$base/results.subunit2" trial --temp-directory /tmp/_trial_temp.ratchet --reporter subunitv2-file allmydata subunit2junitxml < "$base/results.subunit2" > "$base/results.xml" set -e From 7c922785245e93fd61398289e9328e3ae5cf47ac Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 15:52:57 -0400 Subject: [PATCH 21/40] getting ridiculous --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 65a270560..c92b22c5d 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -41,7 +41,7 @@ export GIT_TRACE_PACK_ACCESS=1 export GIT_TRACE_PACKET=1 export GIT_TRACE_PERFORMANCE=1 export GIT_TRACE_SETUP=1 -git diff -- "${tracking_filename}" +strace git diff -- "${tracking_filename}" echo "=================================" echo "Exiting with code ${code} from ratchet.py." From 8b44b89f7534efe02e386c2b883b33ed442da5a5 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 18:33:35 -0400 Subject: [PATCH 22/40] oi --- misc/python3/ratchet.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index c92b22c5d..9d57a0e10 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -33,6 +33,7 @@ if [ $TERM = 'dumb' ]; then export TERM=ansi fi +apt-get install -y strace echo "The ${tracking_filename} diff is:" echo "=================================" export GIT_TRACE=1 From 107861802bf46681a211195256a2bec3f24e4335 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 21:18:29 -0400 Subject: [PATCH 23/40] idk maybe this --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 9d57a0e10..3d824d199 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -33,7 +33,7 @@ if [ $TERM = 'dumb' ]; then export TERM=ansi fi -apt-get install -y strace +sudo apt-get install -y strace echo "The ${tracking_filename} diff is:" echo "=================================" export GIT_TRACE=1 From a60d4f7df4c799e09c261015b5091f534e306f28 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 21:56:37 -0400 Subject: [PATCH 24/40] get strace --- .circleci/Dockerfile.ubuntu | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/Dockerfile.ubuntu b/.circleci/Dockerfile.ubuntu index 2fcc60f5a..98c3b5088 100644 --- a/.circleci/Dockerfile.ubuntu +++ b/.circleci/Dockerfile.ubuntu @@ -13,6 +13,7 @@ RUN apt-get --quiet update && \ apt-get --quiet --yes install git && \ apt-get --quiet --yes install \ sudo \ + strace \ build-essential \ python${PYTHON_VERSION} \ python${PYTHON_VERSION}-dev \ From a758b84e15126cf28ac0969a0f4c36db57d0713b Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 21:56:51 -0400 Subject: [PATCH 25/40] handling this elsewhere --- misc/python3/ratchet.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 3d824d199..c92b22c5d 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -33,7 +33,6 @@ if [ $TERM = 'dumb' ]; then export TERM=ansi fi -sudo apt-get install -y strace echo "The ${tracking_filename} diff is:" echo "=================================" export GIT_TRACE=1 From 9af1e741d8566a6f4bd8817531fafe1b510d022c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 22:19:38 -0400 Subject: [PATCH 26/40] that was kind of annoyingly non-illuminating --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index c92b22c5d..6c428cdf9 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -41,7 +41,7 @@ export GIT_TRACE_PACK_ACCESS=1 export GIT_TRACE_PACKET=1 export GIT_TRACE_PERFORMANCE=1 export GIT_TRACE_SETUP=1 -strace git diff -- "${tracking_filename}" +strace -f git diff -- "${tracking_filename}" echo "=================================" echo "Exiting with code ${code} from ratchet.py." From 8d1798fbb6c8186ca346525ba0bf1fec98d2493a Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 22:26:39 -0400 Subject: [PATCH 27/40] is the pager screwing up? --- misc/python3/ratchet.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 6c428cdf9..1d54a9cb0 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -41,7 +41,8 @@ export GIT_TRACE_PACK_ACCESS=1 export GIT_TRACE_PACKET=1 export GIT_TRACE_PERFORMANCE=1 export GIT_TRACE_SETUP=1 -strace -f git diff -- "${tracking_filename}" +strace -f git diff -- "${tracking_filename}" > tracking.diff +cat tracking.diff echo "=================================" echo "Exiting with code ${code} from ratchet.py." From fe850e724000970bff75a74797f99b33863f213e Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 22:45:33 -0400 Subject: [PATCH 28/40] redirecting to a file seems to help --- misc/python3/ratchet.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 1d54a9cb0..c05e675f2 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -35,13 +35,9 @@ fi echo "The ${tracking_filename} diff is:" echo "=================================" -export GIT_TRACE=1 -export GIT_CURL_VERBOSE=2 -export GIT_TRACE_PACK_ACCESS=1 -export GIT_TRACE_PACKET=1 -export GIT_TRACE_PERFORMANCE=1 -export GIT_TRACE_SETUP=1 -strace -f git diff -- "${tracking_filename}" > tracking.diff +# "git diff" gets pretty confused in this execution context when trying to +# write to stdout. Somehow it fails with SIGTTOU. +git diff -- "${tracking_filename}" > tracking.diff cat tracking.diff echo "=================================" From ef3cbebe431b9978d211434dc6c141d3c26699eb Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 22:57:59 -0400 Subject: [PATCH 29/40] Perhaps get this path right --- misc/python3/ratchet.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index c05e675f2..33183fce1 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -11,8 +11,8 @@ cd "../.." # Since both of the next calls are expected to exit non-0, relax our guard. set +e -SUBUNITREPORTER_OUTPUT_PATH="$base/results.subunit2" trial --temp-directory /tmp/_trial_temp.ratchet --reporter subunitv2-file allmydata -subunit2junitxml < "$base/results.subunit2" > "$base/results.xml" +trial --temp-directory /tmp/_trial_temp.ratchet --reporter subunitv2-file allmydata +subunit2junitxml < "${SUBUNITREPORTER_OUTPUT_PATH}" > "$base/results.xml" set -e # Okay, now we're clear. From 360a97a5794bd69a210d72f8a411412d47413a83 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:08:48 -0400 Subject: [PATCH 30/40] Let the python36 job have the env vars --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index ab467abd0..27c9f36cc 100644 --- a/tox.ini +++ b/tox.ini @@ -50,7 +50,7 @@ commands = [testenv:py36] # git inside of ratchet.sh needs $HOME. -passenv = HOME +passenv = {[testenv]passenv} HOME commands = {toxinidir}/misc/python3/ratchet.sh [testenv:integration] From 65520786cac9415af6ccfb71fa3e858a751b806e Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:26:15 -0400 Subject: [PATCH 31/40] [drop] faster ci --- .circleci/config.yml | 64 ++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f5b33b106..1ae4c1326 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,50 +6,50 @@ workflows: ci: jobs: # Platforms - - "debian-9" - - "debian-8": - requires: - - "debian-9" + # - "debian-9" + # - "debian-8": + # requires: + # - "debian-9" - - "ubuntu-18.04" - - "ubuntu-16.04": - requires: - - "ubuntu-18.04" + # - "ubuntu-18.04" + # - "ubuntu-16.04": + # requires: + # - "ubuntu-18.04" - - "fedora-29" - - "fedora-28": - requires: - - "fedora-29" + # - "fedora-29" + # - "fedora-28": + # requires: + # - "fedora-29" - - "centos-8" + # - "centos-8" - - "slackware-14.2" + # - "slackware-14.2" - - "nixos-19.09" + # - "nixos-19.09" - # Test against PyPy 2.7 - - "pypy2.7-buster" + # # Test against PyPy 2.7 + # - "pypy2.7-buster" # Just one Python 3.6 configuration while the port is in-progress. - "python3.6" - # Other assorted tasks and configurations - - "lint" - - "pyinstaller" - - "deprecations" - - "c-locale" - # Any locale other than C or UTF-8. - - "another-locale" + # # Other assorted tasks and configurations + # - "lint" + # - "pyinstaller" + # - "deprecations" + # - "c-locale" + # # Any locale other than C or UTF-8. + # - "another-locale" - - "integration": - requires: - # If the unit test suite doesn't pass, don't bother running the - # integration tests. - - "debian-9" + # - "integration": + # requires: + # # If the unit test suite doesn't pass, don't bother running the + # # integration tests. + # - "debian-9" - # Generate the underlying data for a visualization to aid with Python 3 - # porting. - - "build-porting-depgraph" + # # Generate the underlying data for a visualization to aid with Python 3 + # # porting. + # - "build-porting-depgraph" images: # Build the Docker images used by the ci jobs. This makes the ci jobs From f8e44acdef3bb0aa06bc8d74a881bf7b69b6a77c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:27:36 -0400 Subject: [PATCH 32/40] did it get written --- misc/python3/ratchet.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index 33183fce1..c9bf6bed1 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -12,6 +12,7 @@ cd "../.." # Since both of the next calls are expected to exit non-0, relax our guard. set +e trial --temp-directory /tmp/_trial_temp.ratchet --reporter subunitv2-file allmydata +find "${SUBUNITREPORTER_OUTPUT_PATH}" subunit2junitxml < "${SUBUNITREPORTER_OUTPUT_PATH}" > "$base/results.xml" set -e From c17337e732797d36bb46253b43f17b008ad86b07 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:47:11 -0400 Subject: [PATCH 33/40] We get passed an env var that tells us how to run trial Also temp-dir made no difference and don't need the find either. --- misc/python3/ratchet.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index c9bf6bed1..e9f8a4c04 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -11,8 +11,7 @@ cd "../.." # Since both of the next calls are expected to exit non-0, relax our guard. set +e -trial --temp-directory /tmp/_trial_temp.ratchet --reporter subunitv2-file allmydata -find "${SUBUNITREPORTER_OUTPUT_PATH}" +trial ${TAHOE_LAFS_TRIAL_ARGS} allmydata subunit2junitxml < "${SUBUNITREPORTER_OUTPUT_PATH}" > "$base/results.xml" set -e From 971bca7402706f9b864f5d5e4746212775a629dd Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:51:15 -0400 Subject: [PATCH 34/40] --rterrors is broken with subunitreporter on python 3 --- misc/python3/ratchet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/python3/ratchet.sh b/misc/python3/ratchet.sh index e9f8a4c04..aa768cd06 100755 --- a/misc/python3/ratchet.sh +++ b/misc/python3/ratchet.sh @@ -11,7 +11,7 @@ cd "../.." # Since both of the next calls are expected to exit non-0, relax our guard. set +e -trial ${TAHOE_LAFS_TRIAL_ARGS} allmydata +trial --reporter=subunitv2-file allmydata subunit2junitxml < "${SUBUNITREPORTER_OUTPUT_PATH}" > "$base/results.xml" set -e From 23d7ffa369060286e6bcbe516288681dc980ed2c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:56:13 -0400 Subject: [PATCH 35/40] Check for subunit2 output here --- .circleci/run-tests.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.circleci/run-tests.sh b/.circleci/run-tests.sh index c26acdcbc..aab3271d6 100755 --- a/.circleci/run-tests.sh +++ b/.circleci/run-tests.sh @@ -81,6 +81,11 @@ ${TIMEOUT} ${BOOTSTRAP_VENV}/bin/tox \ ${TAHOE_LAFS_TOX_ARGS} || "${alternative}" if [ -n "${ARTIFACTS}" ]; then + if [ ! -e "${SUBUNIT2}" ]; then + echo "subunitv2 output file does not exist: ${SUBUNIT2}" + exit 1 + fi + # Create a junitxml results area. mkdir -p "$(dirname "${JUNITXML}")" ${BOOTSTRAP_VENV}/bin/subunit2junitxml < "${SUBUNIT2}" > "${JUNITXML}" || "${alternative}" From 7ba6daeed52aed906076c33ecb7946ee900de980 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 7 Aug 2020 23:58:24 -0400 Subject: [PATCH 36/40] maybe get some more visibility into errors --- .circleci/run-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/run-tests.sh b/.circleci/run-tests.sh index aab3271d6..939f9b1e5 100755 --- a/.circleci/run-tests.sh +++ b/.circleci/run-tests.sh @@ -88,5 +88,5 @@ if [ -n "${ARTIFACTS}" ]; then # Create a junitxml results area. mkdir -p "$(dirname "${JUNITXML}")" - ${BOOTSTRAP_VENV}/bin/subunit2junitxml < "${SUBUNIT2}" > "${JUNITXML}" || "${alternative}" + cat "${SUBUNIT2}" | ${BOOTSTRAP_VENV}/bin/subunit2junitxml | cat > "${JUNITXML}" || "${alternative}" fi From a927ebbafaaf80fbb22b4cdd5bc0e57dca0958ce Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Sat, 8 Aug 2020 00:04:13 -0400 Subject: [PATCH 37/40] what's up --- .circleci/run-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/run-tests.sh b/.circleci/run-tests.sh index 939f9b1e5..197227442 100755 --- a/.circleci/run-tests.sh +++ b/.circleci/run-tests.sh @@ -88,5 +88,5 @@ if [ -n "${ARTIFACTS}" ]; then # Create a junitxml results area. mkdir -p "$(dirname "${JUNITXML}")" - cat "${SUBUNIT2}" | ${BOOTSTRAP_VENV}/bin/subunit2junitxml | cat > "${JUNITXML}" || "${alternative}" + cat "${SUBUNIT2}" | ${BOOTSTRAP_VENV}/bin/subunit2junitxml fi From 0c2cf9f0c5fbc6b501af782f87bd741ad1f6d068 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 10 Aug 2020 09:11:14 -0400 Subject: [PATCH 38/40] Don't fail if subunit2junitxml fails --- .circleci/run-tests.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/run-tests.sh b/.circleci/run-tests.sh index 197227442..8894b9691 100755 --- a/.circleci/run-tests.sh +++ b/.circleci/run-tests.sh @@ -88,5 +88,9 @@ if [ -n "${ARTIFACTS}" ]; then # Create a junitxml results area. mkdir -p "$(dirname "${JUNITXML}")" - cat "${SUBUNIT2}" | ${BOOTSTRAP_VENV}/bin/subunit2junitxml + # Always succeed even if subunit2junitxml fails. subunit2junitxml signals + # failure if the stream it is processing contains test failures. This is + # not what we care about. If we cared about it, the test command above + # would have signalled failure already and we wouldn't be here. + "${BOOTSTRAP_VENV}"/bin/subunit2junitxml < "${SUBUNIT2}" > "${JUNITXML}" || true fi From 462e212a19f93c833ab308f7d8f5bb2ed848e035 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 10 Aug 2020 09:16:19 -0400 Subject: [PATCH 39/40] Revert "[drop] faster ci" This reverts commit 65520786cac9415af6ccfb71fa3e858a751b806e. --- .circleci/config.yml | 64 ++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ae4c1326..f5b33b106 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,50 +6,50 @@ workflows: ci: jobs: # Platforms - # - "debian-9" - # - "debian-8": - # requires: - # - "debian-9" + - "debian-9" + - "debian-8": + requires: + - "debian-9" - # - "ubuntu-18.04" - # - "ubuntu-16.04": - # requires: - # - "ubuntu-18.04" + - "ubuntu-18.04" + - "ubuntu-16.04": + requires: + - "ubuntu-18.04" - # - "fedora-29" - # - "fedora-28": - # requires: - # - "fedora-29" + - "fedora-29" + - "fedora-28": + requires: + - "fedora-29" - # - "centos-8" + - "centos-8" - # - "slackware-14.2" + - "slackware-14.2" - # - "nixos-19.09" + - "nixos-19.09" - # # Test against PyPy 2.7 - # - "pypy2.7-buster" + # Test against PyPy 2.7 + - "pypy2.7-buster" # Just one Python 3.6 configuration while the port is in-progress. - "python3.6" - # # Other assorted tasks and configurations - # - "lint" - # - "pyinstaller" - # - "deprecations" - # - "c-locale" - # # Any locale other than C or UTF-8. - # - "another-locale" + # Other assorted tasks and configurations + - "lint" + - "pyinstaller" + - "deprecations" + - "c-locale" + # Any locale other than C or UTF-8. + - "another-locale" - # - "integration": - # requires: - # # If the unit test suite doesn't pass, don't bother running the - # # integration tests. - # - "debian-9" + - "integration": + requires: + # If the unit test suite doesn't pass, don't bother running the + # integration tests. + - "debian-9" - # # Generate the underlying data for a visualization to aid with Python 3 - # # porting. - # - "build-porting-depgraph" + # Generate the underlying data for a visualization to aid with Python 3 + # porting. + - "build-porting-depgraph" images: # Build the Docker images used by the ci jobs. This makes the ci jobs From 513177c4b86469874aa93d3fdbe33a34f6a9ecc2 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Tue, 11 Aug 2020 18:33:01 -0400 Subject: [PATCH 40/40] strace not used by anything now --- .circleci/Dockerfile.ubuntu | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/Dockerfile.ubuntu b/.circleci/Dockerfile.ubuntu index 98c3b5088..2fcc60f5a 100644 --- a/.circleci/Dockerfile.ubuntu +++ b/.circleci/Dockerfile.ubuntu @@ -13,7 +13,6 @@ RUN apt-get --quiet update && \ apt-get --quiet --yes install git && \ apt-get --quiet --yes install \ sudo \ - strace \ build-essential \ python${PYTHON_VERSION} \ python${PYTHON_VERSION}-dev \