Simple webapp for reporting Fedora test days results https://testdays.fedoraproject.org
  • HTML 96.5%
  • Python 2.3%
  • Jinja 1%
Find a file
Jaroslav Groman 9aa326cb70
All checks were successful
Run tests / test (pull_request) Successful in 33s
Update developer documentation
Developer documentation is updated to reflect current recommended way to setup local development environment.
Added check for required tools in Makefile.

Fixes #123

Assisted-by: Claude Code
2026-08-06 10:47:34 +02:00
.ai_review Replace ReverseProxied with werkzeug ProxyFix 2026-06-26 13:15:41 +00:00
.devcontainer Add devcontainer config 2026-06-02 12:56:13 +02:00
.forgejo/workflows ci.yml: Update checkout action to v7, don't check out all history 2026-08-05 09:27:29 +02:00
.s2i Add ASGI support for embedded MCP server 2026-05-21 10:26:49 +02:00
alembic Refactor app to use application factory pattern 2026-05-11 15:35:15 +02:00
conf Add devcontainer config 2026-06-02 12:56:13 +02:00
docs Update developer documentation 2026-08-06 10:47:34 +02:00
init-scripts Add devcontainer config 2026-06-02 12:56:13 +02:00
testdays Create health check endpoint 2026-08-06 08:22:09 +00:00
tests Create health check endpoint 2026-08-06 08:22:09 +00:00
.gitignore Add devcontainer config 2026-06-02 12:56:13 +02:00
AGENTS.md Add devcontainer config 2026-06-02 12:56:13 +02:00
alembic.ini Implement admin action auditing 2026-04-10 11:30:28 +02:00
asgi.py Implement MCP server 2026-06-02 11:40:24 +00:00
docker-compose.yml Add devcontainer config 2026-06-02 12:56:13 +02:00
gunicorn.cfg.py Add ASGI support for embedded MCP server 2026-05-21 10:26:49 +02:00
init_db.sh Update local dev environment to use PostgreSQL db, add developer docs 2025-12-03 16:20:42 +01:00
LICENSE Add GPLv3 license 2026-02-04 10:51:23 +00:00
Makefile Update developer documentation 2026-08-06 10:47:34 +02:00
mcp_server.py Implement MCP server 2026-06-02 11:40:24 +00:00
pytest.ini Add devcontainer config 2026-06-02 12:56:13 +02:00
README.md Implement commenting out testday markup tests 2026-04-27 12:45:46 +02:00
requirements-dev.txt Add devcontainer config 2026-06-02 12:56:13 +02:00
requirements.txt Implement MCP server 2026-06-02 11:40:24 +00:00
run_cli.py Python 3 2020-03-05 17:12:04 +01:00
runapp.py Refactor app to use application factory pattern 2026-05-11 15:35:15 +02:00
wsgi.py Refactor app to use application factory pattern 2026-05-11 15:35:15 +02:00

testdays-web

License

This project is licensed under the GNU General Public License v3.0 or later - see the LICENSE file for details.

TestdayApp Metadata

The new TestdayApp's metadata define the testdays' structure, testcases and possibly the Profile column name override.

Only lines starting (disregarding whitespace) with =, *, # or ! ProfileText: are considered data, rest is discarded.

Lines starting with = denote sections; Lines starting with * represent testcases within the section, and must be formatted as * testcase name; testcase url

A line like ! ProfileText: Foobar can be used to change that section's Profile column name to Foobar

A basic tesday's structure could look like this:

= Basic Tests
* pm-suspend; https://fedoraproject.org/wiki/QA:Testcase_Power_Management_pm_suspend
* Tuned disabled idle; http://fedoraproject.org/wiki/QA:Testcase_Power_Management_tuned_off_idle

= Other Tests
! ProfileText: libvirt-version
* Virtualization libvirt connections; https://fedoraproject.org/wiki/QA:Testcase_Virtualization_libvirt_connections

Editing existing Testdays

Whenever you edit an existing testday, you will notice that the testcase lines also contain an ULID at the end. For example:

= Basic Tests
* pm-suspendr; https://fedoraproject.org/wiki/QA:Testcase_Power_Management_pm_suspend; 01JR2VGYFAWA5F7EHCZ3C6FXK2
* Tuned disabled idle; http://fedoraproject.org/wiki/QA:Testcase_Power_Management_tuned_off_idle; 01JR2VGYFAW3E05JVGT452QQXP

= Other Tests
! ProfileText: libvirt-version
* Virtualization libvirt connections; https://fedoraproject.org/wiki/QA:Testcase_Virtualization_libvirt_connections; 01JR2VGYFAG2Y7K5C6Z9DCG3MY

This is an unique id assigned to the specific "column" within the Testday, and as long as you keep it intact, you can move the testcases around, change the name or the url part, and any results that are already entered will be still correctly linked.

For example:

= Basic Tests
* Tuned disabled idle; http://fedoraproject.org/wiki/QA:Testcase_Power_Management_tuned_off_idle; 01JR2VGYFAW3E05JVGT452QQXP

= Other Tests
! ProfileText: libvirt-version
* Virtualization libvirt connections; https://fedoraproject.org/wiki/QA:Testcase_Virtualization_libvirt_connections; 01JR2VGYFAG2Y7K5C6Z9DCG3MY
* Another name; https://another.url; 01JR2VGYFAWA5F7EHCZ3C6FXK2

Here, we moved the pm-suspendr testcase identified by ULID 01JR2VGYFAWA5F7EHCZ3C6FXK2 from the Basic Tests section to the Other Tests section, changed the name to Another name and the url to https://another.url, but since we kept the ULID reference intact, alle the results previously entered into the pm-suspendr column will be correctly shown in the new location.

Commenting Out Testcases

You can temporarily disable any line by prefixing it with #. In the following example, one test case is disabled in the first section, and the second section is disabled completely:

= Basic Tests
* Tuned disabled idle; http://fedoraproject.org/wiki/QA:Testcase_Power_Management_tuned_off_idle; 01JR2VGYFAW3E05JVGT452QQXP
# * pm-suspend; https://fedoraproject.org/wiki/QA:Testcase_Power_Management_pm_suspend; 01JR2VGYFAWA5F7EHCZ3C6FXK2

# = Other Tests
# ! ProfileText: libvirt-version
# * Virtualization libvirt connections; https://fedoraproject.org/wiki/QA:Testcase_Virtualization_libvirt_connections; 01JR2VGYFAG2Y7K5C6Z9DCG3MY

A commented-out testcase will not be displayed on the testday page and no new results can be submitted for it. However, the ULID is preserved, so any existing results remain linked. Removing the # prefix will re-enable the testcase and restore all its results. Similarly, uncommenting a whole section will restore it fully with all testcases and their results.

Lines starting with # that do not contain a * testcase definition are ignored. You can also add any other arbitrary lines starting with #, e.g. some preparation notes. They will be preserved through save/edit round-trips, and obviously not influence the results table in any way.

App Development Notes

Please see developer notes in docs/DEVELOPER.md.