Tests / apps/projects/tests.py
TestProjectTestPage::test_other_peoples_project
First seen 2 years, 9 months ago in d87c7a8
CI
github-actions:test
5 runs
Average
51 ms
median 54 ms
max 61 ms
max 61 ms
Phases
Setup 0.71 ms
Call 50 ms
Teardown 0.16 ms
Categories
Database 20 ms
Other (Libraries, Unsampled, pytest) 31 ms
33 database queries per run
Needs 691 KB of memory (max 836 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 18 minutes ago ·
open run
call53 ms98.4%
TestProjectTestPage.test_other_peoples_projectapps/projects/tests.py:424 response = self.client.get(self.url)29 ms53.3%
Client.getdjango/test/client.py:112429 ms53.3%
RequestFactory.getdjango/test/client.py:47529 ms53.3%
RequestFactory.genericdjango/test/client.py:67129 ms53.3%
Client.requestdjango/test/client.py:108229 ms53.3%
ClientHandler.__call__django/test/client.py:17320 ms36.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6220 ms36.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms36.9%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms36.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12013 ms24.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13113 ms24.6%
WhiteNoise.get_static_filewhitenoise/base.py:2087 ms12.3%
StaticFile.__init__whitenoise/responders.py:732 ms4.1%
StaticFile.get_headerswhitenoise/responders.py:1802 ms4.1%
StaticFile.__init__whitenoise/responders.py:742 ms4.1%
parsedate<stdlib>/email/_parseaddr.py:1852 ms4.1%
StaticFile.__init__whitenoise/responders.py:772 ms4.1%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms4.1%
__init____init__:-12 ms4.1%
Headers.__init__<stdlib>/wsgiref/headers.py:362 ms4.1%
<GC>~2 ms4.1%
WhiteNoise.get_static_filewhitenoise/base.py:2024 ms8.2%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms4.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms4.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms4.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms4.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms8.2%
scantreewhitenoise/base.py:2624 ms8.2%
scantreewhitenoise/base.py:2622 ms4.1%
scantreewhitenoise/base.py:2622 ms4.1%
scantreewhitenoise/base.py:2622 ms4.1%
ClientHandler.__call__django/test/client.py:1869 ms16.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms16.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms16.4%
project_testapps/projects/urls.py:2829 ms16.4%
find_projectapps/projects/urls.py:527 ms12.3%
can_viewapps/projects/urls.py:337 ms12.3%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:4 ms8.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms8.2%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms8.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms8.2%
get_userdjango/contrib/auth/middleware.py:204 ms8.2%
get_userdjango/contrib/auth/__init__.py:3112 ms4.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms4.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms4.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms4.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms4.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.1%
QuerySet.getdjango/db/models/query.py:6352 ms4.1%
QuerySet.__len__django/db/models/query.py:3722 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.1%
ModelIterable.__iter__django/db/models/query.py:952 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
get_userdjango/contrib/auth/__init__.py:3182 ms4.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.1%
QuerySet.getdjango/db/models/query.py:6352 ms4.1%
QuerySet.__len__django/db/models/query.py:3722 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.1%
ModelIterable.__iter__django/db/models/query.py:952 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms4.1%
QuerySet.existsdjango/db/models/query.py:13372 ms4.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms4.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms4.1%
get_object_or_404django/shortcuts.py:902 ms4.1%
QuerySet.getdjango/db/models/query.py:6352 ms4.1%
QuerySet.__len__django/db/models/query.py:3722 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.1%
ModelIterable.__iter__django/db/models/query.py:952 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
TestProjectTestPage.setUpapps/projects/tests.py:412 self.client.force_login(self.user)15 ms28.7%
ClientMixin.force_logindjango/test/client.py:85515 ms28.7%
ClientMixin._logindjango/test/client.py:8817 ms12.3%
logindjango/contrib/auth/__init__.py:1874 ms8.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms4.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms4.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms4.1%
Atomic.__exit__django/db/transaction.py:2472 ms4.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms4.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms4.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms4.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms4.1%
Model.deletedjango/db/models/base.py:12982 ms4.1%
Collector.deletedjango/db/models/deletion.py:4522 ms4.1%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms4.1%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
logindjango/contrib/auth/__init__.py:1752 ms4.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms4.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms4.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms4.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.1%
QuerySet.getdjango/db/models/query.py:6352 ms4.1%
QuerySet.__len__django/db/models/query.py:3722 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.1%
ModelIterable.__iter__django/db/models/query.py:952 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
ClientMixin._logindjango/test/client.py:8764 ms8.2%
ClientMixin.sessiondjango/test/client.py:8124 ms8.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms8.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms4.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms4.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms4.1%
QuerySet.existsdjango/db/models/query.py:13372 ms4.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms4.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms4.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms4.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms4.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms4.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms4.1%
Model.savedjango/db/models/base.py:8742 ms4.1%
Model.save_basedjango/db/models/base.py:9662 ms4.1%
Model._save_tabledjango/db/models/base.py:11672 ms4.1%
Model._do_insertdjango/db/models/base.py:12182 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.1%
QuerySet._insertdjango/db/models/query.py:19182 ms4.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
ClientMixin._logindjango/test/client.py:8834 ms8.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms8.2%
atomicdjango/db/transaction.py:3232 ms4.1%
__init____init__:-12 ms4.1%
Atomic.__exit__django/db/transaction.py:2472 ms4.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms4.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms4.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
TestProjectTestPage.test_other_peoples_projectapps/projects/tests.py:423 self.client.force_login(other_user)7 ms12.3%
ClientMixin.force_logindjango/test/client.py:8557 ms12.3%
ClientMixin._logindjango/test/client.py:8834 ms8.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms8.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms4.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1972 ms4.1%
get_random_stringdjango/utils/crypto.py:622 ms4.1%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:622 ms4.1%
Random.choice<stdlib>/random.py:3542 ms4.1%
Random._randbelow_with_getrandbits<stdlib>/random.py:2512 ms4.1%
SystemRandom.getrandbits<stdlib>/random.py:9152 ms4.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms4.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms4.1%
Model.savedjango/db/models/base.py:8742 ms4.1%
Model.save_basedjango/db/models/base.py:9662 ms4.1%
Model._save_tabledjango/db/models/base.py:11672 ms4.1%
ClientMixin._logindjango/test/client.py:8812 ms4.1%
logindjango/contrib/auth/__init__.py:1852 ms4.1%
SessionBase.flushdjango/contrib/sessions/backends/base.py:4202 ms4.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms4.1%
Model.deletedjango/db/models/base.py:12982 ms4.1%
Collector.deletedjango/db/models/deletion.py:4522 ms4.1%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms4.1%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
TestProjectTestPage.test_other_peoples_projectapps/projects/tests.py:422 other_user = User.objects.create_user("otheruser")2 ms4.1%
UserManager.create_userdjango/contrib/auth/models.py:1752 ms4.1%
UserManager._create_userdjango/contrib/auth/models.py:1632 ms4.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms4.1%
Model.savedjango/db/models/base.py:8742 ms4.1%
Model.save_basedjango/db/models/base.py:9662 ms4.1%
Model._save_tabledjango/db/models/base.py:11672 ms4.1%
Model._do_insertdjango/db/models/base.py:12182 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.1%
QuerySet._insertdjango/db/models/query.py:19182 ms4.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.1%
Cursor.executepsycopg/cursor.py:1132 ms4.1%
Connection.waitpsycopg/connection.py:4952 ms4.1%
teardown0.20 ms0.4%
Estimated from 25 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:424
response = self.client.get(self.url)
TestProjectTestPage.test_other_peoples_project
· Libraries
|
20 ms |
|
apps/projects/tests.py:412
self.client.force_login(self.user)
TestProjectTestPage.setUp
· Database
|
15 ms |
|
apps/projects/tests.py:423
self.client.force_login(other_user)
TestProjectTestPage.test_other_peoples_project
· Database
|
7 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
4 ms |
|
apps/projects/tests.py:422
other_user = User.objects.create_user("otheruser")
TestProjectTestPage.test_other_peoples_project
· Database
|
2 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
2 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
2 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.07 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
33 queries · 10 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
3×
SELECT %s AS "a" FROM "django_session" WHERE "django_session"."session_key" = %s LIMIT ?
3×
INSERT INTO "django_session" ("session_key", "session_data", "expire_date") VALUES (%s, %s, %s)
3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/projects/tests.py:424
|
37 ms |
|
call setUp
apps/projects/tests.py:412
|
15 ms |
| teardown pytest internals | 0.20 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 50 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 18 minutes ago | CI github-actions:test | passed | 54 ms | Profile |
| 43 minutes ago | CI github-actions:test | passed | 53 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 61 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 30 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 57 ms | Profile |
| 2 years ago | CI github-actions | passed | 111 ms | Run |
| 2 years, 2 months ago | CI github-actions | passed | 104 ms | Run |
| 2 years, 3 months ago | CI github-actions | passed | 107 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 111 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 107 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 120 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 102 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 106 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 98 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 100 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 98 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 101 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 100 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 102 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 96 ms | Run |