Browse Source

ref(py3): Remove PY2 builds and support (#23187)

Burak Yigit Kaya 4 years ago
parent
commit
4f31516ae9
5 changed files with 9 additions and 78 deletions
  1. 1 2
      docker/Dockerfile
  2. 1 1
      docker/builder.sh
  3. 0 63
      docker/cloudbuild.yaml
  4. 1 1
      setup.cfg
  5. 6 11
      setup.py

+ 1 - 2
docker/Dockerfile

@@ -1,5 +1,4 @@
-ARG PY_VER=2.7.16
-FROM python:${PY_VER}-slim-buster
+FROM python:3.6-slim-buster
 
 LABEL maintainer="oss@sentry.io"
 LABEL org.opencontainers.image.title="Sentry"

+ 1 - 1
docker/builder.sh

@@ -12,6 +12,6 @@ echo "Populating node_modules cache..."
 cp -ur /js/node_modules/* ./node_modules/
 
 export YARN_CACHE_FOLDER="$(mktemp -d)"
-python setup.py bdist_wheel --universal --build-number 0
+python setup.py bdist_wheel --build-number 0
 rm -r "$YARN_CACHE_FOLDER"
 pkginfo -f requires_dist --single --sequence-delim=! dist/*.whl | tr ! \\n > dist/requirements.txt

+ 0 - 63
docker/cloudbuild.yaml

@@ -25,27 +25,11 @@ steps:
         '--cache=true',
         '--build-arg',
         'SOURCE_COMMIT=$COMMIT_SHA',
-        '--build-arg',
-        'PY_VER=3.6.10',
         '--destination=us.gcr.io/$PROJECT_ID/sentry:$COMMIT_SHA',
         '-f',
         './docker/Dockerfile',
       ]
     timeout: 300s
-  - name: 'gcr.io/kaniko-project/executor:v0.22.0'
-    id: runtime-image-py2
-    waitFor:
-      - builder-run
-    args:
-      [
-        '--cache=true',
-        '--build-arg',
-        'SOURCE_COMMIT=$COMMIT_SHA',
-        '--destination=us.gcr.io/$PROJECT_ID/sentry:$COMMIT_SHA-py2',
-        '-f',
-        './docker/Dockerfile',
-      ]
-    timeout: 300s
   - name: 'gcr.io/$PROJECT_ID/docker-compose'
     id: get-onpremise-repo
     waitFor: ['-']
@@ -80,53 +64,6 @@ steps:
           exit $test_return;
         fi
     timeout: 450s
-  - name: 'gcr.io/$PROJECT_ID/docker-compose'
-    id: e2e-test-py2
-    waitFor:
-      - runtime-image-py2
-      - get-onpremise-repo
-      - e2e-test
-    entrypoint: 'bash'
-    dir: onpremise
-    env:
-      - 'SENTRY_PYTHON2=1'
-    args:
-      - '-e'
-      - '-c'
-      - |
-        ./install.sh
-        set +e
-        ./test.sh
-        test_return=$?
-        set -e
-        if [[ $test_return -ne 0 ]]; then
-          echo "Test failed.";
-          docker-compose ps;
-          docker-compose logs;
-          exit $test_return;
-        fi
-    timeout: 450s
-  - name: 'gcr.io/cloud-builders/docker'
-    id: docker-push-py2
-    waitFor:
-      - e2e-test-py2
-    secretEnv: ['DOCKER_PASSWORD']
-    entrypoint: 'bash'
-    args:
-      - '-e'
-      - '-c'
-      - |
-        # Only push to Docker Hub from master
-        [ "$BRANCH_NAME" != "master" ] && exit 0
-        # Need to pull the image first due to Kaniko
-        docker pull $$SENTRY_IMAGE
-        echo "$$DOCKER_PASSWORD" | docker login --username=sentrybuilder --password-stdin
-        docker tag $$SENTRY_IMAGE-py2 $$DOCKER_REPO:$SHORT_SHA-py2
-        docker push $$DOCKER_REPO:$SHORT_SHA-py2
-        docker tag $$SENTRY_IMAGE-py2 $$DOCKER_REPO:$COMMIT_SHA-py2
-        docker push $$DOCKER_REPO:$COMMIT_SHA-py2
-        docker tag $$SENTRY_IMAGE-py2 $$DOCKER_REPO:nightly-py2
-        docker push $$DOCKER_REPO:nightly-py2
   - name: 'gcr.io/cloud-builders/docker'
     id: docker-push
     waitFor:

+ 1 - 1
setup.cfg

@@ -22,7 +22,7 @@ exclude = .venv/.git,*/migrations/*,node_modules/*,src/sentry/static/sentry/vend
 # But rather than append # noqa: E501 to all of them, we just ignore E501 for now.
 
 [bdist_wheel]
-python-tag = py27
+python-tag = py36
 
 [coverage:run]
 omit =

+ 6 - 11
setup.py

@@ -5,17 +5,14 @@ import os
 import sys
 
 version = sys.version_info
-if os.environ.get("SENTRY_PYTHON2") == "1" and version[:2] != (2, 7):
-    sys.exit("Error: Sentry [In DEPRECATED Python 2 mode] requires Python 2.7.")
 
-if os.environ.get("SENTRY_PYTHON2") != "1" and version[:2] != (2, 7):
-    if version[:2] < (3, 6):
-        sys.exit("Error: Sentry requires at least Python 3.6 ({})".format(version[:2]))
-    if version[:2] > (3, 6):
-        import logging
+if version[:2] < (3, 6):
+    sys.exit("Error: Sentry requires at least Python 3.6 ({})".format(version[:2]))
+if version[:2] > (3, 6):
+    import logging
 
-        logger = logging.getLogger()
-        logger.warning("A Python version different than 3.6 is being used ({})".format(version[:2]))
+    logger = logging.getLogger()
+    logger.warning("A Python version different than 3.6 is being used ({})".format(version[:2]))
 
 
 from distutils.command.build import build as BuildCommand
@@ -173,8 +170,6 @@ setup(
         "Intended Audience :: Developers",
         "Intended Audience :: System Administrators",
         "Operating System :: POSIX :: Linux",
-        "Programming Language :: Python :: 2",
-        "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
         "Programming Language :: Python :: 3.6",
         "Topic :: Software Development",