Add revitalize proposal

This commit is contained in:
Lenka Segura 2023-01-03 18:20:55 +01:00 committed by c4rt0
parent fe54923dfd
commit aadc76c0fd
2 changed files with 51 additions and 0 deletions

View file

@ -50,6 +50,7 @@ Index
exploring_the_development_environment
expectations_and_wishes
proposal_rewrite
proposal_revitalize
Conclusions
----

View file

@ -0,0 +1,50 @@
.. _proposal_revitalize:
Revitalize Fedora Badges
====
| *At this point I dont think we should put in more effort,*
| *it seems that a complete rewrite is needed.*
| -- **zlopez**
Why we think revitalizing is not a good idea
------
1. Conversion of tahrir codebase from python2 into python3 would be a huge effort.
Most of the code wasnt touched in for over 3 years. The development
environment could be set up, but needs plenty of updates. There is almost
no documentation, so this needs to be created as well. The codebase is small,
around 2000 lines of code, but its heavily dependent on the pyramid framework,
which doesnt have a great documentation and we no longer have people with
the knowledge of pyramid in the CPE Team. We also dont have knowledge in the
team about the mako templates, but they are easy to comprehend.
The CI probably worked in the past (.cico.pipeline file is available),
but its no longer working, recommending to use either Zuul CI or GitHub Actions.
:What needs to be done:
- Port from python2 to python3
- Fix the dev environment
- Add CI
- Add dependency management (Optional)
- Add tests
- Convert from fedmsg to fedora messaging
- Add documentation
- Convert from Pyramid to Flask (Optional)
- Use poetry (Optional)
2. tahrir_api code is tested against python 3.5, 3.6 and 3.7 and test coverage is 74%.
CI is using github actions. The repo needs some cleaning. There are still
Travis CI and .cico.pipeline config. The database is using SQLAlchemy and
alembic for migration.
Tahrir-api doesnt have any dev environment where you can test it out.
It has only README as a documentation.
Has no dependency management, Im recommending renovate.
API is using pyramid as a framework, which brings disadvantages mentioned
earlier.
:What needs to be done:
- Convert from Pyramid to Flask (Optional)
- Add some tools to test it out in dev environment
- Add dependency management (Optional)
- Improve documentation
- Use poetry (Optional)