sentry-devenv 1.22.2__py3-none-any.whl → 1.24.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+ import sys
5
+
6
+ from devenv import constants
7
+ from devenv.lib import proc
8
+ from devenv.lib_check.types import checker
9
+ from devenv.lib_check.types import fixer
10
+
11
+ tags: set[str] = {"builtin"}
12
+ name = "colima ssh credentials should only be owner rw"
13
+
14
+
15
+ def only_owner_can_rw(path: str) -> bool:
16
+ mode = os.stat(path).st_mode & 0o777
17
+ return mode == 0o400 or mode == 0o600
18
+
19
+
20
+ @checker
21
+ def check() -> tuple[bool, str]:
22
+ lima_ssh_creds = f"{constants.home}/.colima/_lima/_config/user"
23
+
24
+ if not only_owner_can_rw(lima_ssh_creds):
25
+ return (
26
+ False,
27
+ f"Permission bits on {lima_ssh_creds} are too permissive; colima startup will hang on waiting for ssh",
28
+ )
29
+
30
+ return True, ""
31
+
32
+
33
+ @fixer
34
+ def fix() -> tuple[bool, str]:
35
+ lima_ssh_creds = f"{constants.home}/.colima/_lima/_config/user"
36
+
37
+ os.chmod(lima_ssh_creds, 0o600)
38
+
39
+ try:
40
+ proc.run((sys.executable, "-P", "-m", "devenv", "colima", "start"))
41
+ except RuntimeError as e:
42
+ return (
43
+ False,
44
+ f"""Failed to start colima: {e}
45
+
46
+
47
+ ========================================================================================
48
+ You might want to share the last 100 lines of colima's stderr log in #discuss-dev-infra:
49
+
50
+ `tail -n 100 ~/.colima/_lima/colima/ha.stderr.log`
51
+ """,
52
+ )
53
+
54
+ return True, ""
devenv/fetch.py CHANGED
@@ -37,18 +37,23 @@ def main(context: Context, argv: Sequence[str] | None = None) -> ExitCode:
37
37
  ]:
38
38
  fetch(code_root, "getsentry/sentry", auth=CI is None, sync=False)
39
39
 
40
- print("Installing sentry's brew dependencies...")
41
- if CI:
42
- if DARWIN:
40
+ if DARWIN:
41
+ print("Installing sentry's brew dependencies...")
42
+ if CI:
43
43
  # Installing everything from brew takes too much time,
44
44
  # and chromedriver cask flakes occasionally. Really all we need to
45
45
  # set up the devenv is colima and docker-cli.
46
46
  # This is also required for arm64 macOS GHA runners.
47
47
  # We manage colima, so just need to install docker + qemu here.
48
48
  proc.run(("brew", "install", "docker", "qemu"))
49
+ else:
50
+ proc.run(
51
+ (f"{homebrew_bin}/brew", "bundle"),
52
+ cwd=f"{code_root}/sentry",
53
+ )
49
54
  else:
50
- proc.run(
51
- (f"{homebrew_bin}/brew", "bundle"), cwd=f"{code_root}/sentry"
55
+ print(
56
+ "Not on MacOS; assuming you have a docker cli and runtime installed."
52
57
  )
53
58
 
54
59
  proc.run(
devenv/lib/colima.py CHANGED
@@ -196,7 +196,7 @@ def start(restart: bool = False) -> ColimaStatus:
196
196
  "1.1.1.1",
197
197
  # ideally we keep ~ ro, but currently the "default" vm
198
198
  # is shared across repositories, so for ease of use we'll let home rw
199
- f"--mount=/var/folders:w,/private/tmp/colima:w,{home}:w",
199
+ f"--mount=/var/folders:w,/private/tmp/colima:w,{home}:w,/tmp/:w",
200
200
  *args,
201
201
  ),
202
202
  pathprepend=f"{root}/bin",
devenv/update.py CHANGED
@@ -72,6 +72,14 @@ Global devenv at {constants.root}/bin/devenv updated.
72
72
  """
73
73
  )
74
74
 
75
+ # install-devenv.sh originally creates this symlink
76
+ # but we should make sure it exists no matter what
77
+ # in case it's accidentally deleted by the user
78
+ if not global_devenv_exists:
79
+ os.symlink(
80
+ f"{constants.root}/venv/bin/devenv", f"{constants.root}/bin/devenv"
81
+ )
82
+
75
83
  proc.run((sys.executable, "-P", "-m", "devenv", "update", "--post-update"))
76
84
 
77
85
  if not is_global_devenv:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry_devenv
3
- Version: 1.22.2
3
+ Version: 1.24.0
4
4
  Summary: Utilities for setting up a Sentry development environment
5
5
  Author-email: Joshua Li <joshua.li@sentry.io>, Ian Woodard <ian.woodard@sentry.io>, Buck Evan <buck.evan@sentry.io>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -5,14 +5,15 @@ devenv/bootstrap.py,sha256=VSlS1giUv8fE0K5pZgIO-QBKg5PsaWxirF6G9OPUUhE,4047
5
5
  devenv/colima.py,sha256=Dk9t6eu2DEoqqkY8xLmgiB96r-6zi3aXcvON3P8h1JQ,1537
6
6
  devenv/constants.py,sha256=wl0sRfkNeJL-sML6MG5nS0zU-dwRo1mDPrhUSHHY1YQ,1498
7
7
  devenv/doctor.py,sha256=tcwXrE2Y7Ued2gAXCXtfFkyXbG9DOi6jVobbq6DnuZs,8663
8
- devenv/fetch.py,sha256=MbztGFOzBR4KDPG0TVWcQsA4pGXk61zrQXvh-C9xHuk,3904
8
+ devenv/fetch.py,sha256=adDMbqQF19Q_MmunQMMy6n3rBGpUh3ju1Thrt-5OA4I,4078
9
9
  devenv/main.py,sha256=grOHjy0kUJjeGW8STg-WMneVYlkTRVMoFjNdIgt7sjg,3267
10
10
  devenv/pin_gha.py,sha256=t7A5CV1bnYRa4SAikuoJeodHuwV6moIePvhQ1Zdc1eE,2187
11
11
  devenv/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  devenv/pythons.py,sha256=ZcjBrkfmQEkiMP217VyTG48cyteJdYG_hoQ6oFKx_CU,1252
13
13
  devenv/sync.py,sha256=B9bvAuI7K-4SqcfHD4_zwKpozAnHWCNOL-IhVOcc3Zg,1254
14
- devenv/update.py,sha256=89ovkmUQ9WUNDpKr7GP56w2jTKFSQbfv3PYTBYhj5z4,2403
14
+ devenv/update.py,sha256=hkapWwk5L_sHvGSLoXqs0JVRjNfHN80xf5o8W61tOjs,2710
15
15
  devenv/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ devenv/checks/colimaSsh.py,sha256=FCF2y-JrCWWyKVDLDddwuOA1J4NQnKIirxBs8EIbRGk,1363
16
17
  devenv/checks/dockerConfig.py,sha256=l1xhsN0z3my27_DseXyBq_iVcGSgWKHi6suYOyBoWvo,1929
17
18
  devenv/checks/dockerDesktop.py,sha256=ynt8nNQ2DDT2rJDGZ-g7xxc4HErHJV_iqBqYHQtvA7Q,1343
18
19
  devenv/checks/limaDns.py,sha256=cHef2czdYYLvQqiM4bxiYtzYw4UVTIXJPwrGW2Kjpxo,1885
@@ -20,7 +21,7 @@ devenv/checks/test.py,sha256=AvxoA2W5qTO2ZpoXmjScLiJxXD3Y_limYp5yTjGSZ9U,701
20
21
  devenv/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
22
  devenv/lib/archive.py,sha256=75MjlDuwHVaazbNUr8vJmqTyl4Jz6KRd_fUcpwvPwec,4710
22
23
  devenv/lib/brew.py,sha256=_7recvYh-LnUJC0eKnYK7F8AzGRL5bi_Khv0f_mgrlM,1795
23
- devenv/lib/colima.py,sha256=eyGtE5EmkKESwe1dENh5vp8LuuRTJNzP5ikkLv6wk3w,7526
24
+ devenv/lib/colima.py,sha256=xd9EpysU2JlD0mD8rDv78QeetaUs7q4HOJXxXnAb1Mc,7534
24
25
  devenv/lib/config.py,sha256=5eXYwM44AJ3w2VfVbCDqchYOL1zAjazNcirtM6kxxGw,3344
25
26
  devenv/lib/context.py,sha256=4EDImK9pvTp3FqeNigevC9lbJsgdDO9D1t2_Y4NyPlc,207
26
27
  devenv/lib/direnv.py,sha256=HDRUaIR0PMAQYiiTaw3gEQuh6Tdb7BUJmV7dBZdPztM,1325
@@ -72,8 +73,8 @@ tests/lib/test_github.py,sha256=IMEG2cmRaK_PMJprFE_ZMqPnZ0StwWqgznhhT_zVk3U,4526
72
73
  tests/lib/test_proc.py,sha256=XH6OnxKPSSm3HvDjYHApputMKwgOE8lYqDuK2vK0Z0U,2626
73
74
  tests/lib/test_repository.py,sha256=gUi1lkY7bha5WwZ5xcnENOlFYboVV8TFW1lCESvS0VA,787
74
75
  tests/lib/test_venv.py,sha256=3XGpINFBkn6Yq4OycsF-Ki4xMWAINt2g69uOHtkDU6k,3266
75
- sentry_devenv-1.22.2.dist-info/METADATA,sha256=o0O5ZZOakaOZ_olZE1m_EjgPFJE-OmiZmGBQQiNqHQs,15500
76
- sentry_devenv-1.22.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
- sentry_devenv-1.22.2.dist-info/entry_points.txt,sha256=StsIuNugcoEU8jsPy6H9ECjzoDzOVKXl1vUaYTIGbzM,44
78
- sentry_devenv-1.22.2.dist-info/top_level.txt,sha256=dOQExvIA0fj_EQjCrMTS7CCHNH7WZFHxEU0M7LlNcKQ,16
79
- sentry_devenv-1.22.2.dist-info/RECORD,,
76
+ sentry_devenv-1.24.0.dist-info/METADATA,sha256=w5wVhVx5bE8mhGjpkyNegoQxclAtzbdL9zsac6fytew,15500
77
+ sentry_devenv-1.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
78
+ sentry_devenv-1.24.0.dist-info/entry_points.txt,sha256=StsIuNugcoEU8jsPy6H9ECjzoDzOVKXl1vUaYTIGbzM,44
79
+ sentry_devenv-1.24.0.dist-info/top_level.txt,sha256=dOQExvIA0fj_EQjCrMTS7CCHNH7WZFHxEU0M7LlNcKQ,16
80
+ sentry_devenv-1.24.0.dist-info/RECORD,,