flakytest.dev anze3db flakytest
Tests / apps/projects/tests.py

ProjectEditPage::test_project_submit

First seen 2 years, 10 months ago in b9e98d9
CI github-actions:test 12 runs
Average
61 ms
median 67 ms
max 72 ms
Phases
Setup 0.71 ms Call 60 ms Teardown 0.17 ms
Categories
Database 37 ms App code 0.16 ms Other (Libraries, Templates, Unsampled, pytest, ...) 23 ms

41 database queries per run

Needs 34 KB of memory (max 408 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup0.61 ms0.9%
__init____init__:-10.61 ms0.9%
signature<stdlib>/inspect.py:33430.61 ms0.9%
Signature.from_callable<stdlib>/inspect.py:30580.61 ms0.9%
_signature_from_callable<stdlib>/inspect.py:25280.61 ms0.9%
call71 ms98.9%
ProjectEditPage.test_project_submitapps/projects/tests.py:163 response = self.client.post(self.project.url("project_edit"), {"name": "New Name", "slug": "renamed"})55 ms76.4%
Client.postdjango/test/client.py:115355 ms76.4%
RequestFactory.postdjango/test/client.py:49955 ms76.4%
RequestFactory.genericdjango/test/client.py:67155 ms76.4%
Client.requestdjango/test/client.py:108255 ms76.4%
ClientHandler.__call__django/test/client.py:18639 ms53.9%
BaseHandler.get_responsedjango/core/handlers/base.py:14139 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13039 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12339 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3439 ms53.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms53.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19839 ms53.9%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5939 ms53.9%
project_editapps/projects/urls.py:64337 ms51.7%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(37 ms51.7%
get_object_or_404django/shortcuts.py:9037 ms51.7%
QuerySet.getdjango/db/models/query.py:63537 ms51.7%
QuerySet.__len__django/db/models/query.py:37237 ms51.7%
QuerySet._fetch_alldjango/db/models/query.py:200037 ms51.7%
ModelIterable.__iter__django/db/models/query.py:9537 ms51.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162437 ms51.7%
CursorWrapper.executedjango/db/backends/utils.py:7937 ms51.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9237 ms51.7%
CursorWrapper._executedjango/db/backends/utils.py:10537 ms51.7%
Cursor.executepsycopg/cursor.py:11337 ms51.7%
Connection.waitpsycopg/connection.py:49537 ms51.7%
project_editapps/projects/urls.py:6452 ms2.2%
BaseForm.is_validdjango/forms/forms.py:2062 ms2.2%
BaseForm.errorsdjango/forms/forms.py:2012 ms2.2%
BaseForm.full_cleandjango/forms/forms.py:3372 ms2.2%
BaseForm._clean_fieldsdjango/forms/forms.py:3472 ms2.2%
ProjectSettingsForm.clean_slugapps/projects/urls.py:636 if Project.objects.filter(organization=self.instance.organization, slug=slug).exclude(pk=self.instance.pk):2 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
ClientHandler.__call__django/test/client.py:17314 ms20.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6213 ms18.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10413 ms18.0%
WhiteNoise.add_fileswhitenoise/base.py:10813 ms18.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12011 ms15.7%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13111 ms15.7%
WhiteNoise.get_static_filewhitenoise/base.py:2088 ms11.2%
StaticFile.__init__whitenoise/responders.py:773 ms4.5%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.2%
StaticFile.__init__whitenoise/responders.py:733 ms4.5%
StaticFile.get_headerswhitenoise/responders.py:1722 ms2.2%
StaticFile.get_headerswhitenoise/responders.py:1782 ms2.2%
StaticFile.__init__whitenoise/responders.py:722 ms2.2%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.2%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms2.2%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms2.2%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms2.2%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms2.2%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms2.2%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.2%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.2%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.2%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms2.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:592 ms2.2%
ClientHandler.__call__django/test/client.py:2082 ms2.2%
Signal.connectdjango/dispatch/dispatcher.py:1102 ms2.2%
ProjectEditPage.test_project_submitapps/projects/tests.py:165 self.assertRedirects(response, project.url("project_configure"))10 ms13.5%
SimpleTestCase.assertRedirectsdjango/test/testcases.py:50110 ms13.5%
Client.getdjango/test/client.py:112410 ms13.5%
RequestFactory.getdjango/test/client.py:47510 ms13.5%
RequestFactory.genericdjango/test/client.py:67110 ms13.5%
Client.requestdjango/test/client.py:108210 ms13.5%
ClientHandler.__call__django/test/client.py:18610 ms13.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14110 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13010 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12310 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3410 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms13.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19810 ms13.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:598 ms11.2%
project_configureapps/projects/urls.py:5283 ms4.5%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(2 ms2.2%
get_object_or_404django/shortcuts.py:902 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
managed_projectapps/projects/urls.py:642 ms2.2%
can_manageapps/projects/urls.py:442 ms2.2%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.2%
QuerySet.existsdjango/db/models/query.py:13372 ms2.2%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
project_configureapps/projects/urls.py:5382 ms2.2%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms2.2%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:1272 ms2.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms2.2%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms2.2%
Col.get_db_convertersdjango/db/models/expressions.py:13402 ms2.2%
project_configureapps/projects/urls.py:539 "token": project.secrettokens_set.first(),2 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.firstdjango/db/models/query.py:11452 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
project_configureapps/projects/urls.py:534 return render(2 ms2.2%
renderdjango/shortcuts.py:252 ms2.2%
render_to_stringdjango/template/loader.py:622 ms2.2%
Template.renderdjango/template/backends/django.py:1072 ms2.2%
Template.renderdjango/template/base.py:1742 ms2.2%
instrumented_test_renderdjango/test/utils.py:1142 ms2.2%
NodeList.renderdjango/template/base.py:10912 ms2.2%
Node.render_annotateddjango/template/base.py:10522 ms2.2%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.2%
instrumented_test_renderdjango/test/utils.py:1142 ms2.2%
NodeList.renderdjango/template/base.py:10912 ms2.2%
Node.render_annotateddjango/template/base.py:10522 ms2.2%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.2%
instrumented_test_renderdjango/test/utils.py:1142 ms2.2%
NodeList.renderdjango/template/base.py:10912 ms2.2%
Node.render_annotateddjango/template/base.py:10522 ms2.2%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.2%
NodeList.renderdjango/template/base.py:10912 ms2.2%
Node.render_annotateddjango/template/base.py:10522 ms2.2%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.2%
NodeList.renderdjango/template/base.py:10912 ms2.2%
Node.render_annotateddjango/template/base.py:10522 ms2.2%
URLNode.renderdjango/template/defaulttags.py:5112 ms2.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.2%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.2%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.2%
get_userdjango/contrib/auth/middleware.py:202 ms2.2%
get_userdjango/contrib/auth/__init__.py:3182 ms2.2%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
ProjectEditPage.setUpapps/projects/tests.py:143 self.client.force_login(self.user)6 ms9.0%
ClientMixin.force_logindjango/test/client.py:8556 ms9.0%
ClientMixin._logindjango/test/client.py:8763 ms4.5%
ClientMixin.sessiondjango/test/client.py:8123 ms4.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms4.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.2%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.2%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.2%
QuerySet.existsdjango/db/models/query.py:13372 ms2.2%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms2.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.2%
Model.savedjango/db/models/base.py:8742 ms2.2%
Model.save_basedjango/db/models/base.py:9662 ms2.2%
Model._save_tabledjango/db/models/base.py:11672 ms2.2%
Model._do_insertdjango/db/models/base.py:12182 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet._insertdjango/db/models/query.py:19182 ms2.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms2.2%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18692 ms2.2%
SQLInsertCompiler.assemble_as_sqldjango/db/backends/postgresql/compiler.py:642 ms2.2%
SQLInsertCompiler.assemble_as_sqldjango/db/models/sql/compiler.py:17852 ms2.2%
SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>django/db/models/sql/compiler.py:17812 ms2.2%
SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>django/db/models/sql/compiler.py:17742 ms2.2%
<GC>~2 ms2.2%
ClientMixin._logindjango/test/client.py:8813 ms4.5%
logindjango/contrib/auth/__init__.py:1752 ms2.2%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms2.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.2%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
logindjango/contrib/auth/__init__.py:1872 ms2.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.2%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6252 ms2.2%
QuerySet.filterdjango/db/models/query.py:15422 ms2.2%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.2%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.2%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.2%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.2%
Estimated from 45 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/urls.py:61
project = get_object_or_404(
managed_project · Database
39 ms
apps/projects/tests.py:163
response = self.client.post(self.project.url("project_edit"), {"name": "New Name", "slug": "renamed"})
ProjectEditPage.test_project_submit · Libraries
16 ms
apps/projects/tests.py:143
self.client.force_login(self.user)
ProjectEditPage.setUp · Database
6 ms
apps/projects/urls.py:636
if Project.objects.filter(organization=self.instance.organization, slug=slug).exclude(pk=self.instance.pk):
ProjectSettingsForm.clean_slug · Database
2 ms
apps/projects/tests.py:165
self.assertRedirects(response, project.url("project_configure"))
ProjectEditPage.test_project_submit · 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
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell · Database
2 ms
apps/projects/urls.py:539
"token": project.secrettokens_set.first(),
project_configure · Database
2 ms
apps/projects/urls.py:534
return render(
project_configure · Templates
2 ms

Fixtures

Exact setup time
_template_string_if_invalid_marker function 0.06 ms
_dj_autoclear_mailbox function 0.04 ms
_django_db_marker function 0.03 ms
_django_set_urlconf function 0.03 ms
_live_server_helper function 0.03 ms
_django_clear_site_cache function 0.02 ms
monkeypatch function 0.02 ms

Database

41 queries · 13 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

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 ?
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…

Biggest pieces of work

call test body
apps/projects/tests.py:163
64 ms
call setUp
apps/projects/tests.py:143
6 ms
setup __init__
__init__:-1
0.61 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 72 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 36 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 67 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 56 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 72 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 44 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 72 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 68 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 67 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 72 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 35 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 67 ms 78a4357 main Profile