|
5 | 5 | <!--TOC--> |
6 | 6 |
|
7 | 7 | - [Table of Contents](#table-of-contents) |
8 | | -- [Software Setup](#software-setup) |
9 | | - - [Introduction](#introduction) |
10 | | - - [Installation and Setup](#installation-and-setup) |
11 | | - - [Operating systems](#operating-systems) |
12 | | - - [Getting the Code](#getting-the-code) |
13 | | - - [Installing Software Dependencies](#installing-software-dependencies) |
14 | | - - [Installing an IDE](#installing-an-ide) |
15 | | - - [Installing an IDE: CLion](#installing-an-ide-clion) |
16 | | - - [Getting your Student License](#getting-your-student-license) |
17 | | - - [Installing CLion](#installing-clion) |
18 | | - - [Installing an IDE: VS Code](#installing-an-ide-vs-code) |
19 | | - - [Editing with Vim or NeoVim](#editing-with-vim-or-neovim) |
20 | | - - [Building and Running the Code](#building-and-running-the-code) |
21 | | - - [Building from the command line](#building-from-the-command-line) |
22 | | - - [Building from the command line using the fuzzy finder](#building-from-the-command-line-using-the-fuzzy-finder) |
23 | | - - [Building with CLion](#building-with-clion) |
24 | | - - [Building with VS Code](#building-with-vs-code) |
25 | | - - [Running our AI, Simulator, SimulatedTests or Robot Diagnostics](#running-our-ai-simulator-simulatedtests-or-robot-diagnostics) |
26 | | - - [Debugging](#debugging) |
27 | | - - [Debugging with CLion](#debugging-with-clion) |
28 | | - - [Debugging from the Command Line](#debugging-from-the-command-line) |
29 | | - - [Profiling](#profiling) |
30 | | - - [Callgrind](#callgrind) |
31 | | - - [Tracy](#tracy) |
32 | | - - [Building for the robot](#building-for-the-robot) |
33 | | - - [Deploying Robot Software to the robot](#deploying-robot-software-to-the-robot) |
34 | | - - [Setting up Virtual Robocup 2021](#setting-up-virtual-robocup-2021) |
35 | | - - [Setting up the SSL Simulation Environment](#setting-up-the-ssl-simulation-environment) |
| 8 | + - [Installing Software Dependencies](#installing-software-dependencies) |
| 9 | + - [Installing an IDE](#installing-an-ide) |
| 10 | + - [Installing an IDE: CLion](#installing-an-ide-clion) |
| 11 | + - [Getting your Student License](#getting-your-student-license) |
| 12 | + - [Installing CLion](#installing-clion) |
| 13 | + - [Installing an IDE: VS Code](#installing-an-ide-vs-code) |
| 14 | + - [Editing with Vim or NeoVim](#editing-with-vim-or-neovim) |
| 15 | +- [Building and Running the Code](#building-and-running-the-code) |
| 16 | + - [Building from the command line](#building-from-the-command-line) |
| 17 | + - [Building from the command line using the fuzzy finder](#building-from-the-command-line-using-the-fuzzy-finder) |
| 18 | + - [Building with CLion](#building-with-clion) |
| 19 | + - [Building with VS Code](#building-with-vs-code) |
| 20 | + - [Running our AI, Simulator, SimulatedTests or Robot Diagnostics](#running-our-ai-simulator-simulatedtests-or-robot-diagnostics) |
| 21 | +- [Debugging](#debugging) |
| 22 | + - [Debugging with CLion](#debugging-with-clion) |
| 23 | + - [Debugging from the Command Line](#debugging-from-the-command-line) |
| 24 | +- [Profiling](#profiling) |
| 25 | + - [Callgrind](#callgrind) |
| 26 | + - [Tracy](#tracy) |
| 27 | +- [Building for the robot](#building-for-the-robot) |
| 28 | +- [Deploying Robot Software to the robot](#deploying-robot-software-to-the-robot) |
| 29 | +- [Setting up Virtual Robocup 2021](#setting-up-virtual-robocup-2021) |
| 30 | + - [Setting up the SSL Simulation Environment](#setting-up-the-ssl-simulation-environment) |
36 | 31 | - [Workflow](#workflow) |
37 | 32 | - [Issue and Project Tracking](#issue-and-project-tracking) |
38 | 33 | - [Issues](#issues) |
|
48 | 43 | - [Testing](#testing) |
49 | 44 |
|
50 | 45 | <!--TOC--> |
51 | | - |
52 | | -# Software Setup |
53 | | - |
54 | | -## Introduction |
55 | | - |
56 | | -These instructions assume that you have the following accounts setup: |
57 | | -- [GitHub](https://github.com/login) |
58 | | -- [Discord](https://discord.com). Please contact a Thunderbots lead to receive the invite link. |
59 | | - |
60 | | -These instructions assume you have a basic understanding of Linux and the command line. There are many great tutorials online, such as [LinuxCommand](http://linuxcommand.org/). The most important things you'll need to know are how to move around the filesystem and how to run programs or scripts. |
61 | | - |
62 | | -## Installation and Setup |
63 | | - |
64 | | -### Operating systems |
65 | | - |
66 | | -We currently only support Linux, specifically Ubuntu. |
67 | | - |
68 | | -If you have a X86_64 machine, we support Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. |
69 | | - |
70 | | -If you have a ARM64 (also known as AARCH64) machine, we support Ubuntu 24.04 LTS. |
71 | | - |
72 | | -You are welcome to use a different version or distribution of Linux, but may need to make some tweaks in order for things to work. |
73 | | - |
74 | | -You can use Ubuntu 22.04 LTS or Ubuntu 24.04 LTS inside Windows through Windows Subsystem for Linux, by following [this guide](./getting-started-wsl.md). **Running and developing Thunderbots on Windows is experimental and not officially supported.** |
75 | | - |
76 | | -### Getting the Code |
77 | | - |
78 | | -1. Open a new terminal |
79 | | -2. Install git by running `sudo apt-get install git` |
80 | | -3. Go to the [software repository](https://github.com/UBC-Thunderbots/Software) |
81 | | -4. Click the `Fork` button in the top-right to fork the repository ([click here to learn about Forks](https://help.github.com/en/articles/fork-a-repo)) |
82 | | - 1. Click on your user when prompted |
83 | | - 2. You should be automatically redirected to your new fork |
84 | | -5. Clone your fork of the repository. As GitHub is forcing users to stop using usernames and passwords for authorization, we will be using the SSH link. |
85 | | - |
86 | | - To clone using SSH: |
87 | | - |
88 | | - 1. If not setup prior, you will need to add an SSH key to your GitHub account. Instructions can be found [here](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). For each computer you contribute to GitHub with, you will need an additional SSH Key pair linked to your account. |
89 | | - 2. After you have successfully set up a SSH key for your device and added it to GitHub, you can clone the repository using the following command: |
90 | | - 1. e.g. `git clone git@github.com:<your_username>/Software.git` |
91 | | - 2. You can find this link under the green `Code` button on the main page of your fork on GitHub, under the SSH tab. (This should now be available after adding your SSH key to GitHub successfully.) |
92 | | - |
93 | | - Alternatively, you can clone using HTTPS. You'll need to either use a credential helper (Git Credential Manager, GitHub CLI, etc.) or a personal access token ([details here](https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls)). |
94 | | -6. Set up your git remotes ([what is a remote and how does it work?](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)) |
95 | | - 1. You should have a remote named `origin` that points to your fork of the repository. Git will have set this up automatically when you cloned your fork in the previous step. |
96 | | - 2. You will need to add a second remote, named `upstream`, that points to our main Software repository, which is where you created your fork from. (**Note:** This is _not_ your fork) |
97 | 46 | 1. Open a terminal and navigate to the folder you cloned (your fork): `cd path/to/the/repository/Software` |
98 | 47 | 2. Navigate to our main Software repository in your browser and copy the url from the green `Code` button. Copy the SSH url if you originally cloned with SSH, or use the HTTPS url if you previously cloned with HTTPS |
99 | 48 | 3. From your terminal, add the new remote by running `git remote add upstream <the url>` (without the angle brackets) |
|
0 commit comments