From 54642675354cd57ae8c8945cc2897f8a55997558 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Fri, 29 Jan 2021 19:10:45 -0600 Subject: [PATCH] Test infra for py2.7 is broken. Drop it. We will no longer test packs with python2.7, as it is broken and the fix (re-adding 2.7) is too invasive across all of our infrastructure. We continue supporting 2.7 but only on an as-reported basis. If someone submits a PR for 2.7 and it does not break with python 3, great. If a pack is upgraded so that it can only be used with python 3, then people can downgrade to an earlier version that supported python 2. https://github.com/StackStorm/discussions/issues/40#issuecomment-769992629 --- .circleci/config.yml | 68 +++++++++++--------------------------------- 1 file changed, 17 insertions(+), 51 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1b54bf8..9ec954b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,51 +1,6 @@ version: 2 jobs: - build_and_test_python27: - docker: - - image: circleci/python:2.7 - - image: rabbitmq:3 - - image: mongo:3.4 - - working_directory: ~/repo - - environment: - VIRTUALENV_DIR: "~/virtualenv" - # Don't install various StackStorm dependencies which are already - # installed by CI again in the various check scripts - ST2_INSTALL_DEPS: "0" - - steps: - - checkout - - restore_cache: - key: v1-dependency-cache-py27-{{ checksum "requirements.txt" }} - - run: - name: Download dependencies - command: | - git clone -b master git://github.com/stackstorm-exchange/ci.git ~/ci - ~/ci/.circle/dependencies - - run: - name: Run tests (Python 2.7) - command: ~/ci/.circle/test - - save_cache: - key: v1-dependency-cache-py27-{{ checksum "requirements.txt" }} - paths: - - ~/.cache/pip - - ~/.apt-cache - # NOTE: We use virtualenv files from Python 2.7 step in "deploy" job so we - # only persist paths from this job - - persist_to_workspace: - root: / - paths: - - home/circleci/ci - - home/circleci/virtualenv - - tmp/st2 - - home/circleci/repo - - home/circleci/.gitconfig - - # NOTE: Until we add "python_version" metadata attribute to pack.yaml and - # explicitly call which packs work with Python 3.x, Python 3.x failures are - # not considered fatal build_and_test_python36: docker: - image: circleci/python:3.6 @@ -87,10 +42,21 @@ jobs: paths: - ~/.cache/pip - ~/.apt-cache + # NOTE: We use virtualenv files from Python 3.6 step in "deploy" job so we + # only persist paths from this job + - persist_to_workspace: + root: / + paths: + - home/circleci/ci + - home/circleci/virtualenv + - tmp/st2 + - home/circleci/repo + - home/circleci/.gitconfig + deploy: docker: - - image: circleci/python:2.7 + - image: circleci/python:3.6 working_directory: ~/repo @@ -100,7 +66,7 @@ jobs: steps: - checkout - restore_cache: - key: v1-dependency-cache-py27-{{ checksum "requirements.txt" }} + key: v1-dependency-cache-py36-{{ checksum "requirements.txt" }} - attach_workspace: at: / - run: @@ -109,26 +75,26 @@ jobs: sudo apt-get update sudo apt -y install gmic optipng - run: + # NOTE: We try to retry the script up to 5 times if it fails. The command could fail due + # to the race (e.g. we try to push changes to index, but index has been updated by some + # other pack in the mean time) name: Update exchange.stackstorm.org - command: ~/ci/.circle/deployment + command: ~/ci/.circle/retry_on_failure.sh ~/ci/.circle/deployment workflows: version: 2 # Workflow which runs on each push build_test_deploy_on_push: jobs: - - build_and_test_python27 - build_and_test_python36 - deploy: requires: - - build_and_test_python27 - build_and_test_python36 filters: branches: only: master build_test_weekly: jobs: - - build_and_test_python27 - build_and_test_python36 # Workflow which runs nightly - note we don't perform deploy job on nightly # build