Hi, I am Mayank Singh, welcome back to this blog series on the progress of the new package submission prototype, if you aren’t familiar with the project, feel free to check out the previous blogpost here.
Event Handling, Forgejo Support, and Source Management (July 8 – July 15)
This week was focused on the service’s forge and tackling the challenge of source management.
Migrating to Forgejo and Handling Events
Based on community feedback, advantages and assessing our requirements, I moved the service’s forge to Forgejo. This minimal, open-source alternative to GitHub and GitLab is simpler to self-host and has significantly smoothed out our testing process.
On the implementation front, I added support for parsing issue
and push
events in packit-service
, which allow to support parsing commands from issue comments. That being done adding support for pull_request
is only trivial now and have a solid understanding of packit-service
‘s event model to trigger task execution.
Package Source Handling
I hit a technical dilemma when considering handling the case of packages with new dependencies in a single Pull Request and handle their sources. The workflow requires accessing the PR’s diff, resolving it into individual files, and submitting those sources to be built in COPR.
My initial solution to this problem was to create a dedicated organization in Forgejo where every new package would get its own repository to store its sources. However, my mentor advised against this model, we discussed and realized it would become too complex and non-intuitive to work with. Instead, he clarified the path forward to focus on simple packages for now and investigate how Packit already solves this by cloning the source repository.
What’s Next?
- Enhancing Forgejo Integration: Implementing methods to allow the service to post comments and add reactions on Forgejo.
- Implementing Source Fetching: Building the logic to fetch source files from Pull Requests for package builds.
- Expanding Commands: Adding new commands and tasks to support this workflow.
Stay tuned, more things to share next week 🙂
Recent Comments