Well.. it's an interesting start.
Finding an issue to work on was frustrating to say the least. There is a lot of sorting through unmaintained projects and projects made to farm PRs for Hacktoberfest. Not to mention by the time I started looking, all the beginner issues that show up in searches or curated lists have been long since taken. Took me long enough just to find a good way to search for anything relevant. Eventually I ran into this project, which had some beginner only issues designed for people who haven't contributed to open source before.
The Issue
The issue I worked on wasn't a difficult one, but it did teach me a lot about setting up environment variables and following contributing guidelines.
The issue was simply to refactor some code into modular functions for better maintainability and readability. That was the easy part.
This project had installation instructions, which I tried to follow, but I kept getting errors relating to 'grpcio'.
I tried setting up an environment, I tried reinstalling and rerunning the installer, I kept trying to google errors.. Nothing was working. After maybe an hour or two of just trying to set the environment up for testing, I finally just downgraded my Python version to 3.11 after a suggestion from copilot and it.. finally installed. Yeah. Maybe this is worth bringing up as an issue in the future.
Anyways, after finally being able to run and test the script, I created my pull request and went about following all the conventions laid out in the contributing file.
First of all, each commit needs to have a prefix such as feat:
or chore:
. That's something I had not seen before, but it makes sense to keep things organized. Furthermore, each commit needed to be signed with git commit -S -s -m "message"
. I actually missed this part, and the integration tests flagged it so I had to go back and force push a new commit that included a signature.
Speaking of integration tests, this project came with it's own set of tests that needed to be passed before marking your PR as "Ready to Review":
Everything down to title specification and making sure commits are signed are automatically checked, which is neat.
All in all, I learned a thing or two with this PR. I'm still waiting to see if it will be approved, so here's hoping. But I know I'll need to dedicate some more time to searching for an issue to work on next week.
Top comments (0)