GSoC’24 CircuitVerse | Week 2–3 Report
It’s been an enriching month working in the GSoC environment with CircuitVerse, and the experience has been fantastic so far. I’ve had the opportunity to tackle exciting challenges and grow significantly as a developer.
Addressing Initial Blockers
In my previous blog, I discussed the challenges I faced due to failing checks in GitHub. After a thorough discussion with Pulkit and Prerna, we were able to sort out the issues. Their insights were invaluable in overcoming these blockers and moving forward with the project.
Progress on the First PR
This week, my first pull request (PR) was reviewed by the mentors. The focus of this PR was on restructuring the source folder and versioning it into v0 and v1.
Enhancing the Build Script
- Modified build script to support serving and building different versions.
- Updated script now saves builds in separate directories for each version.
- Ensures each project version is maintained independently.
- Allows for easy access and management of different project versions.
Storing Version Data
The core of my work over the past weeks centered on refining the build process. I focused on adapting the build script to accommodate different versions dynamically. By using environment variables, I automated the build process to generate versions according to specified parameters.
I made a structured JSON file to store version-specific data such as descriptions and configuration details. This data will used in easing version retrieval and tailored build processes as the project progresses.
Updating Netlify Configuration
I also modified the netlify.toml
file to accommodate the changes in the build process. These adjustments ensure that Netlify can correctly build and serve the different versions of the project.
Upcoming Work
Next, I will focus on storing the version data for circuits in a database. This work is essential to effectively managing and retrieving circuit versions, which strengthens the project’s overall stability.
Conclusion
This week has been a significant learning experience. Josh, one of my mentors, provided a new perspective on how this project could benefit another open-source project by Google, named XLS. This discussion gave a whole new perspective to the use cases or applications of CircuitVerse, beyond its current use as an educational platform.