Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Gui-FernandesBR committed Sep 10, 2022
2 parents ed262bc + 2432ea8 commit a1f8ae7
Show file tree
Hide file tree
Showing 19 changed files with 413 additions and 14 deletions.
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [RocketPy-Team] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
22 changes: 22 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools
build:
os: ubuntu-20.04
tools:
python: "3.9"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
- requirements: requirements.txt
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
[![Build Status](https://app.travis-ci.com/Projeto-Jupiter/RocketPy.svg?branch=master)](https://app.travis-ci.com/Projeto-Jupiter/RocketPy)
[![Contributors](https://img.shields.io/github/contributors/Projeto-Jupiter/rocketpy)](https://github.com/Projeto-Jupiter/RocketPy/graphs/contributors)
[![Chat on Discord](https://img.shields.io/discord/765037887016140840?logo=discord)](https://discord.gg/b6xYnNh)
[![Sponsor RocketPy](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/RocketPy-Team)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=flat&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/rocketpy)
[![DOI](https://img.shields.io/badge/DOI-10.1061%2F%28ASCE%29AS.1943--5525.0001331-blue.svg)](http://dx.doi.org/10.1061/%28ASCE%29AS.1943-5525.0001331)

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
author = "Giovani Hidalgo Ceotto"

# The full version, including alpha/beta/rc tags
release = "0.11.0"
release = "0.11.1"


# -- General configuration ---------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions docs/development/github_hackathon.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.. mdinclude:: ./github_tutorial.md
98 changes: 98 additions & 0 deletions docs/development/github_tutorial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# RocketPy Hackathon
## _Git and GitHub Introduction_

This tutorial is meant to guide the hackathon participants to the basic functionalities of Git and GitHub that they are going to need while solving the Challenges.

## Git Installation

In order to work with RocketPy Hackathon repository, one must have Git installed in the machine. The install instructions are available at [the official Git page](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) for Linux, Windows and Mac.

Furthermore, specially if the participant is more comfortable with a GUI interface for operating with Git (instead of terminal), it is optional to download [GitHub Desktop](https://desktop.github.com/).

## GitHub Account Configuration

A GitHub account is required for submitting changes to the Hackathon Repository. If the participant does not have an account, it is possible to sign up [here](https://github.com/signup?source=login).

After successfully creating an account, it must be set up with the participant _username_ and _email address_, this can be done with the following terminal commands:

```sh
git config --global user.name "your_username"
git config --global user.email "[email protected]"
```

## Repository Workflow

### Cloning

First and foremost, the participant must open a terminal session and change the current directory to the one in which the Hackathon Repository will be downloaded. Then it is necessary to clone the Hackathon GitHub repository with the following commands:

```sh
cd <your_desired_path>
git clone https://github.com/RocketPy-Team/RocketPy-Hackathon-2022.git
```

### Basic Workflow

The basic workflow of interacting with a GitHub repository is through getting the most recent version of code (pull), making necessary changes (commits) and uploading these changes to the remote repository (pushes). For instance, the basic workflow for updating a README.md file from a repository would be similar to this:

```sh
# getting most recent version
git pull
# selecting all changed files to commit
git add .
# update the local repository with changes and
# a descriptive commit message
git commit -m "Updade README.md file"
# upload changes to the remote repository
git push
```

### Pull Requests

Pull Requests are a way to notify others of the changes made to the code, so that these changes may be revised by others before being merged into the final code. Pull Requests are located at the _Pull Request_ tab on the main page of the GitHub repository.

A new Pull Request can be made by specifying which changes should be merged into the repository, as illustrates the figure below:

![pull_request_button](https://docs.github.com/assets/cb-34915/images/help/pull_requests/choose-base-and-compare-branches.png)

## Forks and Branches

### Forks

A Fork is a copy of a GitHub repository that allows the user to make changes to a repository while keeping the original unchanged, with changes being updated to the original repository through pull requests. The participant will solve the Challenges and make contributions to a local Fork of the Hackathon GitHub repository, so that it is possible to keep the solutions organized and avoid conflicts that arise from multiple groups editing the same code. It is recommended to use GitHub environment to create a Fork, the participant has to click on the top right corner of the Hackathon GitHub page:

![fork_button](https://docs.github.com/assets/cb-23088/images/help/repository/fork_button.png)

### Branches

A Branch is a separate development path for the repository. They are specially useful for developing new features, testing changes or bug fixing while keeping the original code unchanged. The changes made in a branch can be merged into another branch through a Pull Request. It is recommended that the participant organize its own workflow with branches, since there are multiple Challenges that must be solved (sometimes working on more than one Challenge concurrently). Branches can be created from the terminal with the following command:

```sh
git checkout -b <new_branch_name>
```

After this command, a new branch will be created and the user is automatically directed to it. Furthermore, changing branches is done with the command ```git checkout <branch_name>``` (existing branches can be seen either on GitHub repository page or in terminal with the command ```git branch```).

![branches_button](https://docs.github.com/assets/cb-107867/images/help/branches/branches-overview-link.png)

## Issues and Challenges

The Hackathon Challenges are going to be released in the form of issues at the RocketPy Hackathon repository. They will be available after the Hackathon starts and can be accessed by clicking on the tab _issues_ as seen below:

![issues_button](https://docs.github.com/assets/cb-25896/images/help/repository/repo-tabs-issues.png)

After solving a Challenge, the participant will have to make a pull request to the main Hackathon repository.

## Further Information

Should the participant have any issues, RocketPy team is willing to help at a wide range of time-zones. Further information on Git/GitHub and GitHub Desktop are available from the official [GitHub Docs](https://docs.github.com/en). The documentation for the main topics covered in this tutorial are available in the table below:

| Topic | Documentation |
| ------ | ------ |
| Git Install and Set Up| [get-started/quickstart/set-up-git](https://docs.github.com/en/get-started/quickstart/set-up-git) |
| GitHub Desktop | [get-started/using-github/github-desktop](https://docs.github.com/en/get-started/using-github/github-desktop) |
| Commits | [creating-and-editing-commits/about-commits](https://docs.github.com/pt/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits) |
| Forks | [get-started/quickstart/fork-a-repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) |
| Branches | [creating-and-deleting-branches-within-your-repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository) |
| Pull Request | [get-started/quickstart/github-flow](https://docs.github.com/en/get-started/quickstart/github-flow) |

2 changes: 2 additions & 0 deletions docs/development/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Welcome to RocketPy's development documentation!
:maxdepth: 2
:caption: Contents:

Running RocketPy as a Developer <rocketpy_as_developer.rst>
GitHub Workflow for RocketPy Hackathon 2022 <github_hackathon.rst>
Style Guide <style_guide>

This section is still a work in progress. Here you will find information on how to contribute to our code base.
Loading

0 comments on commit a1f8ae7

Please sign in to comment.