OSD600: Release 0.3 – DEV Community
Repo Link: https://github.com/RiverDave/rrcm/tree/main
I haven’t been too enthusiastic about the development of this project in the last few weeks. The main reason is that most of what we did was mainly based on learning and implementing fairly small details on our projects (like testing, CI’s and stuff). I think something else to consider is that this was already a pre-defined project that we had to develop, so it wasn’t something I was extremely passionate about from the beginning (Although I think most of these points are valid from an academic perspective — It would be hard to evaluate a whole group with different projects and different ideas, It is also aimed towards people just getting started in OSS). I felt engaged throughout those first sessions, given that the dopamine hits I was getting out of trying to develop a neat, structured and clean project faded away after diverting my attention to the boring mandatory courses my program had to offer (especially the APD/Enterprise Java shit). I’ve also taken a lot of time in the recent sprint I’ve taken towards amplifying my stream of contributions throughout the semester — Thing that I really wanna keep on doing given the personal and “professional?” satisfaction it provides.
I renamed my project from rust-cli-tool, which was more of a placeholder name, to RRCM, short for Rusty Repo Context Manager. Good thing I noticed, as that’s the most sensible thing to do. It’s not a completely amazing name, but it will do until the end of the semester.
I’ll follow up with some of the questions posed at the lab wiki:
Which release tool and package registry did you choose? Provide links to everything you mention.
The project has been released in Crates.io in the following link.
What was the process for creating a release? Be detailed so that other developers could read your blog and get some idea how to do the same.
The release process was easier than I expected; what mainly needs to be done is to add a git tag that “locks” or stores a checkpoint for your source code. This procedure is really straightforward in the Rust ecosystem, at least. In my own case, the complex part was figuring out how to get the release automation right through GitHub Actions, but luckily, I found very useful templates externally.
What did you learn while “aha!” moments or get stuck?
What I learnt mainly had to do with git tags, I wasn’t familiar with them at all, but now it makes sense how all of these big projects actually lock their source code not only to builds but also to different platforms/architectures. I didn’t really get stuck, but I imagine it would’ve been considerably harder to release a project in a “different” ecosystem like C++ (Although the latter doesn’t really have a package ecosystem at the end…).
How much did you have to alter your code, files, build, etc., to use the chosen package format and registry?
Mostly YAML and TOML files, I was also having certain issues with the code style I was utilizing in certain functions, so at the end, I had to write a patch to solve those issues separately.
How did the User Testing session with your partner go? Describe what it was like, where they got stuck, and how you corrected the problems.
I honestly did this a bit late (Saturday, Nov 22nd to be exact); therefore did the testing by myself. I did it on different machines and had zero issues. The only nit of that testing session was the fact that the machine I utilized was fairly old, so the Cargo toolchain was a bit problematic to fix. But besides that, I’d say it was a really smooth process.
How do users install and use your project now that it has been released? Provide links and some instructions.
I have a series of steps to follow in my project’s README.
