ByteBuildersLabs / ByteBeastsBackend

The ByteBeasts backend hosts all the Dojo contracts that define the game's logic and mechanics.
MIT License
10 stars 12 forks source link

Implement pre push hook to run sozo test and sozo build #79

Closed danielcdz closed 2 weeks ago

danielcdz commented 3 weeks ago

📖 Description

📦 Deliverable

akintewe commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, Its so nice to be here, well as a graduate of computer science with C# experience and a growing interest in Cairo, I'm especially interested in streamlining development processes. Even though I'm still learning how to design smart contracts, my academic work have given me a strong foundation in Git hooks and build automation.

How I plan on tackling this issue

Firstly, I would write a pre-push hook script that runs the'sozo build' and'sozo test' commands, making sure it manages problems properly. I would design a 'init' target for the Makefile implementation that automatically configures the hook with the appropriate permissions. Additionally, I would thoroughly explain the setup procedure in the README, providing new contributors with detailed instructions.

raizo07 commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, I like to be assigned to work on this.

Here is my Onlydust profile https://app.onlydust.com/u/raizo07

martinvibes commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

ello @ i'm a frontend developer and an experienced technical writer i would love to work on this issue Pleasee kindly assign :)

DiegoB1911 commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm a Full Stack Developer with two years of experience. I'm also a member of Dojo Coding, where I'm expanding my expertise in Cairo and Web3 technologies. I'm enthusiastic about learning, and becoming a part of this project.

How I plan on tackling this issue

To solve this, I would:

  1. Understand the requirements.
  2. Create the pre-push hook.
  3. Create a Makefile.
  4. Update the documentation.
  5. Test the setup and ensure it is working correctly.
stevencartavia commented 2 weeks ago

Hi, I would like to work on this 😁

suhas-sensei commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

i have experience in game dev as well as blockchain previously as personal projects and OS, so hoping to make use of them here and mark my first odhack contribution

How I plan on tackling this issue

let me put my skills to test

ShantelPeters commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have experience with Git workflows and automation, including the implementation of Git hooks and the use of Makefiles for project setup. My background in software development allows me to create efficient build and testing processes that enhance collaboration and ensure code quality.

How I plan on tackling this issue

To implement the pre-push Git hook, I will create a pre-push script in the git/hooks directory that executes the commands sozo build and sozo test. I will then create a Makefile with a make init command that sets up the Git hook automatically. This command will copy the pre-push script to the appropriate directory, ensuring it is executable. I will update the README file with detailed instructions on how to use the make init command after cloning the repository. This structured approach will facilitate a smooth setup for contributors, ensuring they can easily activate the necessary hooks for maintaining code quality.

cristianFleita commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I've been working actively in two cairo games the last year

How I plan on tackling this issue

I have come across this issue multiple times. So the idea is to make a script that executes the make commands, and also I would read the data from the manifest to avoid hardcode

mexes20 commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, can I be assigned to work on this issue?

I'm a software developer with over 6 years experience

ETA: Two days

jsanchez556 commented 2 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, I’m Jose Mario from Costa Rica. With over 15 years of experience in development, I am passionate about contributing to open-source projects and currently expanding my skill set with Rust, Cairo, and Solidity, participated in ODHacks since 7.0 as part of my involvement with Dojo Coding. I am eager to apply my extensive experience and newly acquired skills to new challenges and innovative projects.

How I plan on tackling this issue

  1. Create a pre-push script inside the .git/hooks directory that will run the sozo build and sozo test commands before pushing changes to a remote repository.
  2. Create a Makefile that includes the init command, which copies your pre-push hook from a hooks/directory in the project to .git/hooks/, and ensures it is executable.
  3. Include instructions in README so contributors and maintainers know how to set up the project.
aniruddhaaps commented 2 weeks ago

I'm a c# dev. A new-comer here, willing and ready to contribute to solve the issue.

bigherc18 commented 2 weeks ago

I have over 5 years of experience as a Python developer, and I’ve been involved in the Starknet community from the early stages, working on multiple projects and even leading a project myself. I also have experience with automation and tooling, including setting up Git hooks for several professional and personal projects.

Here’s how I would solve this issue:

I’ll start by implementing a script that runs the sozo build and sozo test commands and place it in the repository (in a scripts or hooks folder). Then, I’ll write the init Makefile target that sets up the script as a Git pre-push hook in the .git/hooks/pre-push file if it’s not already there. We may also consider always overwriting the hooks in case we want the ability to upgrade them in the future—we’ll decide on this later.

Finally, I’ll update the documentation to provide setup instructions for contributors and maintainers about this new init command and pre-push hook.

It shouldn’t take me much time to do this, as I’ve already configured Git hooks for several of my projects.