Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - ref(build): Support building Arm64 Docker image #38180

Closed
wants to merge 47 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
7a41eb5
feat(build): Install libxmlsec1-dev with heroku-buildpack-apt
armenzg Aug 23, 2022
02af4dc
Requirements for uwsgi
armenzg Aug 23, 2022
06038a0
Temporarily use runtime.txt and later use setup.py
armenzg Aug 23, 2022
c7b533a
feat(build): Switch back to containers rather than buildpacks
armenzg Aug 23, 2022
ad08efb
feat(build): Allow building Sentry Docker image from local checkout
armenzg Aug 23, 2022
c38b5b0
Simplify local Docker build
armenzg Aug 23, 2022
8674e21
Skip two steps
armenzg Aug 23, 2022
00a359d
Try again
armenzg Aug 23, 2022
b14330a
Start from blank slate
armenzg Aug 23, 2022
bb58363
A bit more Docker
armenzg Aug 23, 2022
974cf37
Add a bunch more
armenzg Aug 23, 2022
3b70c0a
Add missing parts
armenzg Aug 23, 2022
c6a8a94
Remove
armenzg Aug 23, 2022
37f5c9f
Minor fix
armenzg Aug 23, 2022
6d3122a
Build deps for psycopg2-binary
armenzg Aug 23, 2022
692c001
Create image that uses for Heroku
armenzg Aug 24, 2022
31a3108
Use 0.0.0.0
armenzg Aug 24, 2022
c6d5681
Try non-root user
armenzg Aug 24, 2022
6ff21c9
Try using gunicorn
armenzg Aug 24, 2022
5cb4537
Go away from gunicorn
armenzg Aug 24, 2022
6621020
Try using a worker
armenzg Aug 25, 2022
30ec37e
Less layers
armenzg Aug 25, 2022
f6aafc7
Try again
armenzg Aug 25, 2022
7ee1dcb
Remove Docker ignore for now
armenzg Aug 25, 2022
163b2c5
It has something to do with the Docker build context
armenzg Aug 25, 2022
c31fbf3
Make it similar and remove labels
armenzg Aug 25, 2022
5da94f1
Lower the number of layers
armenzg Aug 25, 2022
7065b68
Sorted
armenzg Aug 26, 2022
3280c16
Only dependencies for web runner
armenzg Aug 26, 2022
bb890dd
Fix Docker build
armenzg Aug 26, 2022
edd5889
Lower hiredis version
armenzg Aug 26, 2022
14eda83
Add zstandard
armenzg Aug 26, 2022
911baa5
Tweak
armenzg Aug 26, 2022
c03880d
Try exec form
armenzg Aug 26, 2022
5aee651
Try this
armenzg Aug 26, 2022
2b55eb1
Try again
armenzg Aug 26, 2022
9b6925b
Add a release step
armenzg Aug 26, 2022
b2ac94b
confluent-kafka
armenzg Aug 26, 2022
ad2719c
Use our own built packages
armenzg Aug 26, 2022
8229116
Restore
armenzg Aug 26, 2022
39f135b
Ignore frozen
armenzg Aug 26, 2022
0eb5fba
Merge branch 'master' into armenzg/build/arm64-docker
armenzg Aug 26, 2022
d5ab4c2
Restore Dockerfile
armenzg Aug 26, 2022
285b9bb
Restore file
armenzg Aug 26, 2022
d3ea70d
Restore more
armenzg Aug 26, 2022
24f48f2
Move
armenzg Aug 26, 2022
febe0e3
Reducing differences
armenzg Aug 26, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Sorted
  • Loading branch information
armenzg committed Aug 26, 2022
commit 7065b68e780b40f433579fc1d73ee5c8a39a526b
70 changes: 24 additions & 46 deletions requirements-base.txt
Original file line number Diff line number Diff line change
@@ -1,102 +1,80 @@
Django>=2.2.28
Pillow>=9.2.0
PyJWT>=2.4.0
PyYAML>=5.4
beautifulsoup4>=4.7.1
billiard>=3.6.4
boto3>=1.22.12
botocore>=1.25.12
brotli>=1.0.9
celery>=4.4.7
cffi>=1.15.0
click>=8.0.4
confluent-kafka>=1.9.2
croniter>=0.3.37
cryptography>=3.4.8
cssselect>=1.0.3
cssutils>=2.4.0
datadog>=0.29.3
django-crispy-forms>=1.14.0
django-pg-zero-downtime-migrations>=0.11
Django>=2.2.28
djangorestframework>=3.12.4
drf-spectacular>=0.22.1
email-reply-parser>=0.5.12
fido2>=0.9.2
google-api-core>=1.32.0
google-auth>=1.24.0
google-cloud-bigtable>=1.6.1
google-cloud-core>=1.5.0
googleapis-common-protos>=1.56.2
google-cloud-pubsub>=2.2.0
google-cloud-storage>=1.35.0
google-cloud-functions>=1.8.0
google-cloud-pubsub>=2.2.0
google-cloud-spanner>=3.17.0
google-cloud-storage>=1.35.0
google-crc32c>=1.3.0
googleapis-common-protos>=1.56.2
grpcio>=1.47.0
hiredis>=0.3.1
isodate>=0.6.1
jsonschema>=3.2.0
kombu>=4.6.11
lxml>=4.6.5
maxminddb>=2.0.3
mistune>=2.0.3
mmh3>=3.0.0
msgpack>=1.0.4
packaging>=21.3
parsimonious>=0.8.0
petname>=2.6
phabricator>=0.7.0
phonenumberslite>=8.12.0
Pillow>=9.2.0
progressbar2>=3.41.0
python-rapidjson>=1.4
psycopg2-binary>=2.8.6
PyJWT>=2.4.0
python-dateutil>=2.8.1
python-memcached>=1.59
python-rapidjson>=1.4
python-u2flib-server>=5.0.0
fido2>=0.9.2
python3-saml>=1.14.0
PyYAML>=5.4
rb>=1.9.0
redis-py-cluster>=2.1.0
redis>=3.4.1
requests-oauthlib>=1.2.0
requests>=2.25.1
# [start] jsonschema format validators
rfc3339-validator>=0.1.2
rfc3986-validator>=0.1.1
# [end] jsonschema format validators
selenium>=4.1.5
sentry-arroyo>=1.0.3
sentry-relay>=0.8.13
sentry-sdk>=1.9.5
snuba-sdk>=1.0.1
simplejson>=3.17.6
snuba-sdk>=1.0.1
sqlparse>=0.2.4,<=0.3.0
statsd>=3.3
structlog>=21.1.0
symbolic>=8.7.1
toronado>=0.1.0
typing-extensions>=3.10.0.2
uWSGI==2.0.20.0
ua-parser>=0.10.0
unidiff>=0.7.4
urllib3[brotli]>=1.26.9
brotli>=1.0.9
# See if we can remove LDFLAGS from lib.sh
# https://github.com/getsentry/sentry/pull/30094
uWSGI==2.0.20.0
zstandard>=0.18.0

msgpack>=1.0.4
cryptography>=3.4.8

# celery
billiard>=3.6.4
kombu>=4.6.11

# Note, grpcio>1.30.0 requires setting GRPC_POLL_STRATEGY=epoll1
# See https://github.com/grpc/grpc/issues/23796 and
# https://github.com/grpc/grpc/blob/v1.35.x/doc/core/grpc-polling-engines.md#polling-engine-implementations-in-grpc
grpcio>=1.47.0

# not directly used, but provides a speedup for redis
hiredis>=0.3.1

# not directly used, but pinned for at least semaphore/symbolic
cffi>=1.15.0

# not directly used, but pinned for toronado because it doesn't pin these
cssutils>=2.4.0
cssselect>=1.0.3

# sentry-plugins specific dependencies
phabricator>=0.7.0

# test dependencies, but unable to move to requirements-test until
# sentry.utils.pytest and sentry.testutils are moved to tests/
selenium>=4.1.5
sqlparse>=0.2.4,<=0.3.0
16 changes: 7 additions & 9 deletions requirements-dev-frozen.txt
Original file line number Diff line number Diff line change
@@ -23,8 +23,7 @@ croniter==0.3.37
cryptography==37.0.2
cssselect==1.0.3
cssutils==2.4.0
datadog==0.29.3
decorator==5.1.1
datadog==0.44.0
dictpath==0.1.3
distlib==0.3.4
django==2.2.28
@@ -56,7 +55,7 @@ googleapis-common-protos==1.56.2
grpc-google-iam-v1==0.12.4
grpcio==1.47.0
h11==0.13.0
hiredis==0.3.1
hiredis==2.0.0
honcho==1.0.0
identify==2.5.1
idna==2.10
@@ -70,7 +69,7 @@ kombu==4.6.11
lazy-object-proxy==1.7.1
libcst==0.4.3
lxml==4.6.5
maxminddb==2.0.3
maxminddb==2.2.0
mccabe==0.7.0
milksnake==0.1.5
mistune==2.0.4
@@ -112,7 +111,6 @@ pycodestyle==2.9.0
pycparser==2.21
pyflakes==2.5.0
pyjwt==2.4.0
pyopenssl==22.0.0
pyparsing==3.0.9
pyrsistent==0.18.1
pysocks==1.7.1
@@ -138,11 +136,11 @@ redis-py-cluster==2.1.0
requests==2.25.1
requests-oauthlib==1.2.0
responses==0.21.0
rfc3339-validator==0.1.2
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rsa==4.8
s3transfer==0.5.2
selenium==4.3.0
selenium==4.4.3
sentry-arroyo==1.0.3
sentry-relay==0.8.13
sentry-sdk==1.9.5
@@ -153,7 +151,7 @@ snuba-sdk==1.0.1
sortedcontainers==2.4.0
soupsieve==2.3.2.post1
sqlparse==0.3.0
statsd==3.3
statsd==3.3.0
structlog==21.1.0
symbolic==8.7.1
tokenize-rt==4.2.1
@@ -181,7 +179,7 @@ websocket-client==1.3.2
werkzeug==2.1.2
wheel==0.37.1
wrapt==1.14.1
wsproto==1.1.0
wsproto==1.2.0
xmlsec==1.3.11
zstandard==0.18.0

16 changes: 7 additions & 9 deletions requirements-frozen.txt
Original file line number Diff line number Diff line change
@@ -19,8 +19,7 @@ croniter==0.3.37
cryptography==37.0.2
cssselect==1.0.3
cssutils==2.4.0
datadog==0.29.3
decorator==5.1.1
datadog==0.44.0
django==2.2.28
django-crispy-forms==1.14.0
django-pg-zero-downtime-migrations==0.11
@@ -42,7 +41,7 @@ googleapis-common-protos==1.56.2
grpc-google-iam-v1==0.12.4
grpcio==1.47.0
h11==0.13.0
hiredis==0.3.1
hiredis==2.0.0
idna==2.10
inflection==0.5.1
isodate==0.6.1
@@ -51,7 +50,7 @@ jsonschema==3.2.0
kombu==4.6.11
libcst==0.4.3
lxml==4.6.5
maxminddb==2.0.3
maxminddb==2.2.0
milksnake==0.1.5
mistune==2.0.4
mmh3==3.0.0
@@ -74,7 +73,6 @@ pyasn1==0.4.5
pyasn1-modules==0.2.4
pycparser==2.21
pyjwt==2.4.0
pyopenssl==22.0.0
pyparsing==3.0.9
pyrsistent==0.18.1
pysocks==1.7.1
@@ -91,11 +89,11 @@ redis==3.4.1
redis-py-cluster==2.1.0
requests==2.25.1
requests-oauthlib==1.2.0
rfc3339-validator==0.1.2
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rsa==4.8
s3transfer==0.5.2
selenium==4.3.0
selenium==4.4.3
sentry-arroyo==1.0.3
sentry-relay==0.8.13
sentry-sdk==1.9.5
@@ -106,7 +104,7 @@ snuba-sdk==1.0.1
sortedcontainers==2.4.0
soupsieve==2.3.2.post1
sqlparse==0.3.0
statsd==3.3
statsd==3.3.0
structlog==21.1.0
symbolic==8.7.1
toronado==0.1.0
@@ -120,7 +118,7 @@ uritemplate==4.1.1
urllib3==1.26.11
uwsgi==2.0.20.0
vine==1.3.0
wsproto==1.1.0
wsproto==1.2.0
xmlsec==1.3.11
zstandard==0.18.0