Code Monkey home page Code Monkey logo

besquare-git-github's Introduction

Goal of this repository

  • Creating your first pull request, by adding your name to the people folder and opening a PR on GitHub.
  • Get a basic introduction to collaborating on GitHub, through reviews from bots and your peers.

The task

  1. Fork this repository to your own GitHub account
    • If you're reading this on GitHub then there should be a Fork button at the top right of this page, click that button.
    • If you're reading this elsewhere, go to the URL of this repository on GitHub.
  2. Clone the repository
    • You can do so by going to your terminal and writing the command below:
$ git clone [email protected]:<your_github_username>/besquare-git-github.git.git
  1. Install dependencies
$ npm install
  1. Add an empty file (without file extension) named after your GitHub username to the people folder (e.g. torvalds)
    • Protip: Use the touch command in your terminal to create a new empty file.
$ touch people/<YOUR_USERNAME>
  1. Add the newly created file to your staging area
$ git add .
  1. Commit the file to your local repository
$ git commit -m "Adding my name to the repo"
  1. Create a pull request from your fork to this repository
    • After creating a PR, the github-actions[bot] will review your PR immediately.
      • If the bot is happy, ask two of your peers to approve your pull request (this can be anyone).
      • If the bot is not happy, they will tell you what needs to be updated.
  2. Help your friends or wait for a couple minutes. After the github-actions[bot] is happy with your PR, it will check every 5 minutes or so to check whether you've obtained enough approvals for your PR to be merged to main.
  3. Everything is OK? Tell one of your mentors to merge your PR.
  4. After a mentor has merged your PR, your name will be automatically assigned to a team.

Click here to reveal information for wizards

Files and folders

  • .github
    • actions
      • check-approvals
        • action.yml: Action definition
        • check-approvals.js: Action source code
      • check-pull-request: Action definition
        • action.yml: Action definition
        • check-pull-request: Action source code
      • create-teams
        • action.yml: Action definition
        • create-teams.js: Action source code
    • workflows
      • check-approvals.yml: Action configuration, you can define check interval here (5 mins is GitHub restriction).
      • check-pull-request.yml: Action configuration
      • create-teams.yml: Action configuration, you can define team size and total people here.
  • .husky
    • .gitignore
    • pre-commit: File that contains commands to execute pre-commit.
  • .very_secret_folder
    • dist: Folder containing the compiled GitHub Actions source code (compiled using @vercel/ncc in build.sh).
    • scripts: Folder containing build script(s), this is referenced in the package.json
  • people: This is where people will add their GitHub username as a file to, this folder is used in check-pull-request and create-teams actions.
    • For check-pull-request we check whether the file name matches the PR opener's username.
    • For create-teams we use this folder as base to assign people to teams.json.
  • public: This is a folder we'll automagically deploy on each merge to main (after the create-teams action). This will showcase the generated teams.
    • resources
      • magic.js: A small React component that represents the elements we'll show to the user. It's included through a text/babel tag in index.html allowing us to use modern JS and React. If you want to change how the teams are presented you can do so here.
      • styles.css: Simple stylesheet to create a somewhat presentable team overview.
      • teams.json: Contains the teams that were generated in create-teams GitHub Action.
    • index.html: Simple index.html that represents the team overview page. This page includes React, ReactDOM, and Babel through a simple script tag. If you wish to add new elements, you can do so here.

besquare-git-github's People

Contributors

aaronbrandonicandrew avatar aizad-deriv avatar amirzaharii avatar ashraf-deriv avatar ashrafali-v avatar github-actions[bot] avatar isaiahxingwei avatar jim-deriv avatar junchan-deriv avatar shontzu avatar snakebuster avatar umairabegum avatar vathng avatar vern404 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.