Tests / apps/projects/tests.py
ProjectPagesTest::test_pending_profile_page
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
58 ms
median 64 ms
max 79 ms
max 79 ms
Phases
Setup 0.73 ms
Call 57 ms
Teardown 0.16 ms
Categories
Database 33 ms
Factories 0.31 ms
Other (Libraries, Unsampled, Templates, pytest, ...) 24 ms
34 database queries per run
Needs 15 KB of memory (max 176 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.77 ms1.2%
call65 ms98.6%
ProjectPagesTest.test_pending_profile_pageapps/projects/tests.py:1073 response = self.client.get(self.project.url("project_profile", profile.number))46 ms69.7%
Client.getdjango/test/client.py:112446 ms69.7%
RequestFactory.getdjango/test/client.py:47546 ms69.7%
RequestFactory.genericdjango/test/client.py:67146 ms69.7%
Client.requestdjango/test/client.py:108246 ms69.7%
ClientHandler.__call__django/test/client.py:17338 ms57.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6238 ms57.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10436 ms55.3%
WhiteNoise.add_fileswhitenoise/base.py:10836 ms55.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12035 ms52.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13133 ms50.5%
WhiteNoise.get_static_filewhitenoise/base.py:20319 ms28.8%
WhiteNoise.add_cache_headerswhitenoise/base.py:22419 ms28.8%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17617 ms26.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19717 ms26.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:2117 ms26.4%
<GC>~17 ms26.4%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms19.2%
StaticFile.__init__whitenoise/responders.py:736 ms9.6%
StaticFile.get_headerswhitenoise/responders.py:1673 ms4.8%
StaticFile.get_headerswhitenoise/responders.py:1802 ms2.4%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.4%
formatdate<stdlib>/email/utils.py:2662 ms2.4%
StaticFile.__init__whitenoise/responders.py:742 ms2.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.4%
StaticFile.__init__whitenoise/responders.py:762 ms2.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms2.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.4%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms2.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2642 ms2.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.4%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms2.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms2.4%
StaticFile.__init__whitenoise/responders.py:722 ms2.4%
ClientHandler.__call__django/test/client.py:1868 ms12.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1418 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1308 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1238 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:348 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms12.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1988 ms12.0%
project_profileapps/projects/urls.py:477 profile = get_object_or_404(3 ms4.8%
get_object_or_404django/shortcuts.py:903 ms4.8%
QuerySet.getdjango/db/models/query.py:6353 ms4.8%
QuerySet.__len__django/db/models/query.py:3723 ms4.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.8%
ModelIterable.__iter__django/db/models/query.py:953 ms4.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms2.4%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
project_profileapps/projects/urls.py:5023 ms4.8%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {3 ms4.8%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.4%
QuerySet.__iter__django/db/models/query.py:3902 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms2.4%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms2.4%
org_shellapps/orgs/views.py:422 ms2.4%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
project_profileapps/projects/urls.py:498 return render(2 ms2.4%
renderdjango/shortcuts.py:252 ms2.4%
render_to_stringdjango/template/loader.py:622 ms2.4%
Template.renderdjango/template/backends/django.py:1072 ms2.4%
Template.renderdjango/template/base.py:1742 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
VariableNode.renderdjango/template/base.py:11502 ms2.4%
FilterExpression.resolvedjango/template/base.py:8112 ms2.4%
template_localtimedjango/utils/timezone.py:1612 ms2.4%
localtimedjango/utils/timezone.py:1802 ms2.4%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)9 ms14.4%
ClientMixin.force_logindjango/test/client.py:8559 ms14.4%
ClientMixin._logindjango/test/client.py:8815 ms7.2%
logindjango/contrib/auth/__init__.py:1873 ms4.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
logindjango/contrib/auth/__init__.py:1972 ms2.4%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.4%
update_last_logindjango/contrib/auth/models.py:242 ms2.4%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
ClientMixin._logindjango/test/client.py:8763 ms4.8%
ClientMixin.sessiondjango/test/client.py:8123 ms4.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms4.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.4%
PostgresClientQuery.dumppsycopg/_queries.py:2982 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet._insertdjango/db/models/query.py:19182 ms2.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ClientMixin._logindjango/test/client.py:8832 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 ms7.2%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms4.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms4.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.8%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms4.8%
Cursor.executepsycopg/cursor.py:1133 ms4.8%
Connection.waitpsycopg/connection.py:4953 ms4.8%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms2.4%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms2.4%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ProjectPagesTest.test_pending_profile_pageapps/projects/tests.py:10723 ms4.8%
makemodel_bakery/baker.py:1473 ms4.8%
Baker.makemodel_bakery/baker.py:4063 ms4.8%
Baker._makemodel_bakery/baker.py:4823 ms4.8%
Baker.instancemodel_bakery/baker.py:5353 ms4.8%
Profile.saveapps/projects/models.py:4652 ms2.4%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.filterdjango/db/models/query.py:15422 ms2.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.4%
Query.build_filterdjango/db/models/sql/query.py:15992 ms2.4%
Query.trim_joinsdjango/db/models/sql/query.py:20192 ms2.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet._insertdjango/db/models/query.py:19182 ms2.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms2.4%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18132 ms2.4%
SQLInsertCompiler.prepare_valuedjango/db/models/sql/compiler.py:17422 ms2.4%
Estimated from 42 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1073
response = self.client.get(self.project.url("project_profile", profile.number))
ProjectPagesTest.test_pending_profile_page
· Libraries
|
38 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
9 ms |
|
apps/projects/urls.py:477
profile = get_object_or_404(
project_profile
· Database
|
3 ms |
|
apps/projects/models.py:35
return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 1
next_number
· Database
|
2 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
2 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
2 ms |
|
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner
· Database
|
2 ms |
|
apps/projects/urls.py:498
return render(
project_profile
· Templates
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
34 queries · 12 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/projects/tests.py:1073
|
49 ms |
|
call setUp
apps/projects/tests.py:954
|
9 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
5 ms |
| call pytest internals | 2 ms |
| setup pytest internals | 0.77 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 66 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 36 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 43 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 79 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 39 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 64 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 64 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 61 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 75 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 38 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 64 ms | Profile |