- 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.
- 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.
- 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
- Install dependencies
$ npm install
- 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.
- Protip: Use the
$ touch people/<YOUR_USERNAME>
- Add the newly created file to your staging area
$ git add .
- Commit the file to your local repository
$ git commit -m "Adding my name to the repo"
- 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.
- After creating a PR, the github-actions[bot] will review your PR immediately.
- 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
. - Everything is OK? Tell one of your mentors to merge your PR.
- After a mentor has merged your PR, your name will be automatically assigned to a team.
Click here to reveal information for wizards
.github
actions
check-approvals
action.yml
: Action definitioncheck-approvals.js
: Action source code
check-pull-request
: Action definitionaction.yml
: Action definitioncheck-pull-request
: Action source code
create-teams
action.yml
: Action definitioncreate-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 configurationcreate-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
inbuild.sh
).scripts
: Folder containing build script(s), this is referenced in thepackage.json
people
: This is where people will add their GitHub username as a file to, this folder is used incheck-pull-request
andcreate-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 toteams.json
.
- For
public
: This is a folder we'll automagically deploy on each merge to main (after thecreate-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 atext/babel
tag inindex.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 increate-teams
GitHub Action.
index.html
: Simpleindex.html
that represents the team overview page. This page includes React, ReactDOM, and Babel through a simplescript
tag. If you wish to add new elements, you can do so here.