45 Commits

Author SHA1 Message Date
Ethan Smith
19d6edfae0
ci: Add test for symbolicator pipeline (#1916)
Fixes #1888

This integration test:

uploads a symbol file, which indicates where to find the symbols for the minidump
uploads a sample minidump, which creates an event we can check for

This test is based on the test here: 28f4f36b4a/tests/symbolicator/test_minidump_full.py (L72)
2023-01-19 12:57:16 -08:00
Chad Whitacre
dc77c3af1f
Pick up CI bugfix (#1905) 2023-01-09 20:30:44 +00:00
Ethan Smith
8bc4017826
ci: Remove GCB and update Github Action SHA (#1880)
This also updates the Github Action to use the latest commit.
2022-12-27 12:40:45 -08:00
Ethan Smith
794b9ffce5
Try adding end to end tests using new action (#1806) 2022-11-14 09:31:04 -08:00
Matt Gaunt-Seo @ Sentry.io
c573bddf65
Update to actions/checkoutv3 to address upcoming github deprecations (#1792) 2022-11-02 09:36:00 -07:00
Hubert Deng
871c5f6092
Reorganize unit test layout (#1729)
* fix failing unit tests

* fix unit test pipeline

* add newline to unit-test file

* preserve semantics from docker volume test

* add error-handling tests

* reorganize file structure of unit tests

* add comment for using _file format in ensure relay credentials test

* add error handling unit tests

* use unit-test directory

* stack trace should be from the unit test directory

* Slightly better fail signal

* Clearer start as well

Co-authored-by: Chad Whitacre <chadwhitacre@sentry.io>
2022-09-29 14:48:48 -07:00
Amin Vakil
081239e3b1
Use docker-compose 2.7.0 instead of 2.2.3 in CI (#1591) 2022-08-17 10:56:28 -07:00
Benedikt Franke
9eff0c3b4d
Ease modification of base image (#1479) 2022-05-25 12:54:29 -04:00
Chad Whitacre
282c269274 Skip some CI due to a difficult bug
https://github.com/getsentry/self-hosted/issues/1415
2022-04-15 20:14:43 -04:00
Amin Vakil
48dd5eb144
Run CI every night (#1334) 2022-03-14 18:27:20 -04:00
Burak Yigit Kaya
de81299baf
ci: Temporary fix for interactive prompt on createuser (#1370) 2022-03-11 17:07:38 -05:00
Chad Whitacre
e3f5670aab
Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1290)
* Revert "Revert "Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1251)" (#1272)"

This reverts commit da8f4903e4cfe47ca4fa5bf68265b62f795c60a0.

* Drop back to -T because long opt is Compose 2+

Admin-merging with approvals from outside contributors (All-seeing eye, are you seeing this? ;)
2022-02-03 15:49:27 -05:00
Chad Whitacre
da8f4903e4
Revert "Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1251)" (#1272)
This reverts commit 3abbb3e8bd3a4d1d2ecbdb0f4fb255507c55aca0.
2022-01-24 16:36:14 -05:00
Amin Vakil
3abbb3e8bd
Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1251) 2022-01-24 12:36:28 -05:00
Burak Yigit Kaya
8606348c02
ci: Enable parallel tests again, increase timeouts (#1125) 2021-10-20 16:18:54 -04:00
Burak Yigit Kaya
6f0b91f285
ci(test): Relax cleanup test regex a bit (#1119) 2021-10-15 19:41:26 +00:00
EricsonMacedo
78a5c3cb87
feat: Support docker compose CLI (#1116)
Check if docker compose v2, CLI, is available and get semantic version
from it, or fallback to get semantic version out of docker-compose v1
when checking minimum requirements during install.sh script

Fixes #962
2021-10-15 21:21:19 +03:00
Burak Yigit Kaya
497759c1e8
ci: Test with the required minimum docker-compose (#1066)
Refs #1061, refs #1062, refs #1063.
2021-08-18 11:35:21 -04:00
Burak Yigit Kaya
672b1f7f4d
feat: Have an empty certificates folder ready (#1065)
Addresses this: https://forum.sentry.io/t/configure-gitlab-self-signed-ssl-certificate/14766/3?u=byk
2021-08-17 17:40:35 +03:00
Burak Yigit Kaya
93078f052d
upgrade: docker-compose version to 1.29.2 (#1050) 2021-08-04 19:44:35 +00:00
Kyle Filz
17b675c833
feat: Support custom CA roots (#1015)
Mount a certificate folder to local ca storage in containers,
and add update command to cron image's entrypoint.

Result of poking and prodding from getsentry/sentry#26851
2021-07-30 18:39:47 +03:00
Burak Yigit Kaya
91f40486ca
fix(ci): Run bulids on release branches
Follow up to #980
2021-06-15 22:21:26 +03:00
Burak Yigit Kaya
2ab0590924
ci(test): Separate unit tests so they don't rely on integration tests (#910) 2021-03-30 15:02:40 -04:00
Chad Whitacre
88f90e046e
Add a partial test for geoip (#902) 2021-03-26 16:57:21 -04:00
Chad Whitacre
a868b09044
Factor out volume creation (#901) 2021-03-26 15:04:54 -04:00
Chad Whitacre
0ce7856117
Refactor relay config (#900) 2021-03-26 10:06:04 -04:00
Burak Yigit Kaya
a1c0c1fd0c
ref: Stop building local images for Sentry services (#834)
We used to build local images for Sentry services to be able to
include required plugins in the image. With this change we instead
do this in a custom entrypoint script and use the volume `/data`
to store the plugins permanently.

This should resolve many issues people have around building local
images and pushing them to places like private repositories or swarm
clusters.

This is not 100% compatible with the old way but it should still be
a mostly transparent change to many folks.
2021-02-04 12:15:59 +00:00
Burak Yigit Kaya
ee53f18ad0
breaking: Remove Python 2 support (#833) 2021-01-20 15:28:14 +00:00
Chad Whitacre
612a14c63c
Add some structure to logging with ::group:: (#827) 2021-01-19 17:30:07 -05:00
Burak Yigit Kaya
640e7fe290
ci(test): Fix 'pool is closed' errors (#826)
Fixes #823. In `install.sh` we build a local sentry image that is used by many services from using the build context under the `./sentry` directory. To avoid building this image multiple times, we also give it a specific name which is referred from multiple services. The issue is, we also run `docker-compose build --parallel` which creates a race condition when building this image as `docker-compose` doesn't check whether the image is already there or not. This is the root cause of all these random failures: an unsurprising race condition.
2021-01-19 20:43:27 +00:00
Burak Yigit Kaya
49f8684808
ci(test): Even larger pools (#825)
Attepmt to fix #823
2021-01-19 17:43:33 +00:00
Burak Yigit Kaya
2e4307b553
ci: Increase pool size to prevent pool closed errors (#819)
Based on my reading, this error comes from urllib3.

https://urllib3.readthedocs.io/en/latest/advanced-usage.html
>The behavior of the pooling for ConnectionPool is different from PoolManager. By default, if a new request is made and there is no free connection in the pool then a new connection will be created. However, this connection will not be saved if more than maxsize connections exist. This means that maxsize does not determine the maximum number of connections that can be open to a particular host, just the maximum number of connections to keep in the pool.

I think the ideal solution would be to add `retry` and `block` options to [docker-py](ce2669e3ed/docker/transport/unixconn.py (L58-L70)) but that's a long shot.
2021-01-15 23:20:39 +03:00
Burak Yigit Kaya
0ac7eed028
fix: Fix Py2 warning (#813)
Removes the obsolete `echo ''` at the end, fixes detection as `python --version` outputs to `stderr` instead of `stdout` in versions prior to 3.4 or something.
2021-01-15 01:35:57 +03:00
Burak Yigit Kaya
a1fcdd8db7
ci(test): Limit concurent jobs to 1 (#815)
This should keep the pool open.
2021-01-14 21:21:01 +00:00
Chad Whitacre
d8fd74f1d3
Standardizing on this (#814) 2021-01-14 15:24:21 -05:00
Chad Whitacre
4399fc8aa8
Unfrobulate CI (#768)
Co-authored-by: Burak Yigit Kaya <ben@byk.im>
2021-01-08 09:56:52 -05:00
Burak Yigit Kaya
f885eceaec
ref(py3): Remove SENTRY_PYTHON3 and -py3 versons (#764)
This is in preparation to make the PY3 version the default for Docker images and self-hosted. It is part **4/5**:

1. ~~Add `-py2` variants for the Python 2 build tags and introduce the `SENTRY_PYTHON2` env variable usage~~ (getsentry/sentry#22460)
2. ~~Switch getsentry/onpremise to Python 3 by default*, introducing the `SENTRY_PYTHON2` env var for Py2 builds via the `-py2` suffix~~ (getsentry/onpremise#763)
3. ~~Move the unsuffixed version of the builds to Python 3~~ (getsentry/sentry#22466)
4. **Remove the `SENTRY_PYTHON3` env var support and `-py3` prefix usage from getsentry/onpremise**
5. Remove tagging of `-py3` builds from getsentry/sentry
2020-12-05 01:46:20 +03:00
Burak Yigit Kaya
06fb0d75de
ref(py3): Make PY3 the default*, add SENTRY_PYTHON (#763)
This is in preparation to make the PY3 version the default* for Docker images and self-hosted. It is part **2/5**:

1. ~~Add `-py2` variants for the Python 2 build tags and introduce the `SENTRY_PYTHON2` env variable usage~~ (getsentry/sentry#22460)
2. __Switch getsentry/onpremise to Python 3 by default*, introducing the `SENTRY_PYTHON2` env var for Py2 builds via the `-py2` suffix__
3. Move the unsuffixed version of the builds to Python 3
4. Remove the `SENTRY_PYTHON3` env var support and `-py3` prefix usage from getsentry/onpremise
5. Remove tagging of `-py3` builds from here

_* this will only happen when item 3 above gets landed_
2020-12-04 22:43:36 +03:00
Burak Yigit Kaya
1399be6a68
feat(py3): Add Python 3 support via SENTRY_PYTHON3 env variable (#702) 2020-10-14 21:54:55 +03:00
Burak Yigit Kaya
f8a2e48ed6
build(docker): Bump min Docker & Compose versions (#676)
We need `docker-compose ps -a` for CI so we were already using 1.24.1, this aligns the rest with that.

For Docker, there are a bunch of network-related fixes in 19.03.12 and prior (DNS fallback and IPv6 advertising) that we'd like to have to see if they are going to fix some reported connectivity issues w/ onpremise.
2020-09-15 19:40:42 +03:00
Burak Yigit Kaya
23251e79b9
ci(gha): Fix intermittent test failures (#664)
GitHub team pointed us to docker/compose#3586 as the likely root cause and some digging around revealed got us to https://git.io/JUn7p as a potential fix, which we are trying here.
2020-09-08 22:03:04 +03:00
Burak Yigit Kaya
cb8bb3b2e7
ci: Disable beacon on CI e2e tests (#649)
This also brings in common pre-test commands into test.sh file.
2020-08-27 20:27:55 +03:00
Tomasz Kontusz
627c366f27
install: Keep relay available while upgrading (#615)
This continues on the ideas from #607. By "downtime" here I mean "not accepting events" - web, smtp and background processes are out of scope.

This PR adds a `--minimize-downtime` option to install.sh. This options changes the behaviour of the script by:
1. keeping nginx and relay running until the very end,
2. disabling cleanup on exit and failure,
3. explicitly reloading nginx configuration,
4. and starting the whole cluster at the end.

The results are promising: no downtime if relay version doesn't change, and only a second when it does. So far this was only tested with a curl loop, so I'm still not sure if Relay flushes the events to Sentry before getting recreated by `$dc up`.
2020-08-27 18:02:33 +03:00
Chad Whitacre
e8d882ca05
ci(gha): Fine-tune GHA event bindings (#639) 2020-08-23 21:34:01 +03:00
Chad Whitacre
4b8d424477
ci(github): Reimplement CI in GitHub Actions (#634)
Part of #627, sets us up for expanding the OS matrix we test against.
2020-08-20 22:05:19 +03:00