In https://qa.fedoraproject.org/blockerbugs/ you can see this in the footer: App version: 1.14+1.ge7516aa (2025-06-10)
App version: 1.14+1.ge7516aa (2025-06-10)
I find it mighty useful, both for production and staging instance, to immediately see (without admin access) what version/commit/date of the app is deployed.
Consider adding this to testdays as well. Currently we can't tell what version is running.
There might be better solutions, but the one we're currently using in blockerbugs is python-versioneer. See development_tasks.rst ("Updating python-versioneer" section). You can also read the PR discussion where not only python-versioneer is discussed, but also some alternatives like miniver and setuptools_scm. Keep in mind that the discussion is 3 years old, things might've changed since then.
python-versioneer
miniver
setuptools_scm
Metadata Update from @kparal: - Custom field story_points adjusted to 5
I have reviewed currently available solutions and the list is basically the same like 3 years ago: versioneer, miniver, setuptools_scm.
versioneer
testdays application is at its present state simpler than blockerbugs, it is not packaged as a module, not being installed and does not have "standard" version info available. On the other hand .git/ folder is always included and we could obtain some basic info just by parsing git HEAD file like this: https://gist.github.com/pkienzle/5e13ec07077d32985fa48ebe43486832
testdays
blockerbugs
.git/
HEAD
However for sake of having the same version format as blockerbugs and also for future-proofing purpose I think it would be best to go with versioneer as well.
Metadata Update from @jgroman: - Issue assigned to jgroman
Turns out versioneer requires package info to be present and fails to install into package-less app. Used alternative approach where git current HEAD commit short hash and creation date are derived by parsing git internal repo files. Git repo is also present when app is deployed in a pod so we should have all data readily available in there as well.
What exactly do you mean by package info, a setup.py? We can add it if needed. Not a requirement, just saying.
setup.py
Yes, versioneer is looking for setup.py:
Traceback (most recent call last): File "/var/home/jgroman/.virtualenvs/testdays-web-hcqq/bin/versioneer", line 7, in <module> sys.exit(main()) File "/var/home/jgroman/.virtualenvs/testdays-web-hcqq/lib/python3.9/site-packages/versioneer.py", line 2001, in main setup_command() File "<string>", line 2270, in setup_command File "<string>", line 2235, in scan_setup_py FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
But unless we want to explicitly have some version included, git hash + date might be good enough for now.
Commit be3d80eb fixes this issue
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/quality/testdays-web/issues/83
Please continue any further discussion there.