Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!--

Have you read GitHub for Unity's Code of Conduct? By filing an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/github-for-unity/Unity/blob/master/CODE_OF_CONDUCT.md

-->

### Prerequisites

- Be sure to run with tracing enabled to capture runtime details in the log file
- Include the log file in the PR.
- On Windows, the extension log file is at `%LOCALAPPDATA%\GitHubUnity\github-unity.log`
- On macOS, the extension log file is at `~/.local/share/GitHubUnity/github-unity.log`

### Description

<!-- Description of the issue -->

### Steps to Reproduce

1. [First Step]
2. [Second Step]
3. [and so on...]

**Expected behavior:** [What you expect to happen]

**Actual behavior:** [What actually happens]

**Reproduces how often:** [What percentage of the time does it reproduce?]

### Additional Information

Any additional information, configuration or data that might be necessary to reproduce the issue.
28 changes: 28 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
### Requirements

* Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
* All new code requires tests to ensure against regressions

### Description of the Change

<!--

We must be able to understand the design of your change from this description. If we can't get a good idea of what the code will be doing from the description here, the pull request may be closed at the maintainers' discretion. Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code here recently, so please walk us through the concepts.

-->

### Alternate Designs

<!-- Explain what other alternates were considered and why the proposed version was selected -->

### Benefits

<!-- What benefits will be realized by the code change? -->

### Possible Drawbacks

<!-- What are the possible side-effects or negative impacts of the code change? -->

### Applicable Issues

<!-- Enter any applicable Issues here -->
171 changes: 171 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# Contributing to GitHub for Unity

:+1: :tada: :sparkling_heart: Thanks for your interest! :sparkling_heart: :tada: :+1:

The following is a set of guidelines for contributing to GitHub for Unity and its
related projects, which are hosted in the [GitHub for Unity Organization](https://github.com/github-for-unity)
on GitHub. These are just guidelines, not rules. Use your best judgment, and
feel free to propose changes to this document in a pull request.

Note that GitHub for Unity is currently a public alpha, so everything is likely to
change over time as we learn and refine how we work with the community.

#### Table Of Contents

[What should I know before I get started?](#what-should-i-know-before-i-get-started)
* [Code of Conduct](#code-of-conduct)
* [The Roadmap](#the-roadmap)

[How Can I Contribute?](#how-can-i-contribute)
* [Reporting Bugs](#reporting-bugs)
* [Suggesting Enhancements](#suggesting-enhancements)
* [Up for Grabs](#up-for-grabs)

[Additional Notes](#additional-notes)
* [Issue and Pull Request Labels](#issue-and-pull-request-labels)

## What should I know before I get started?

### Code of Conduct

This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code.
Please report unacceptable behavior to [unity@github.com](mailto:unity@github.com).

### The Roadmap

Currently GitHub for Unity is in a public alpha, and the team is focused on
triaging reported issues and working towards a 1.0 milestone.
You can follow this progress under the [Milestones](https://github.com/github-for-unity/Unity/milestones)
tab.

We're still thinking about where we want to take GitHub for Unity after we reach
this 1.0 milestone. If you have ideas or suggestions please read the [Suggesting Enhancements](#suggesting-enhancements)
section below to understand how to contribute your feedback.

## How Can I Contribute?

### Reporting Bugs

This section guides you through submitting a bug report for GitHub for Unity.
Following these guidelines helps maintainers and the community understand your
report :pencil:, reproduce the behavior :computer: :computer:, and find related
reports :mag_right:.

Before creating bug reports, please check [this list](#before-submitting-a-bug-report)
as you might find out that you don't need to create one. When you are creating
a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report).
Fill out [the required template](./.github/ISSUE_TEMPLATE.md), the information
it asks for helps us resolve issues faster.

#### Before Submitting A Bug Report

**Perform a [cursory search](https://github.com/github-for-unity/Unity/labels/bug)**
to see if the problem has already been reported. If it does exist, add a
[reaction](https://help.github.com/articles/about-discussions-in-issues-and-pull-requests/#reacting-to-ideas-in-issues-and-pull-requests)
to the issue to indicate this is also an issue for you, and add a
comment to the existing issue if there is extra information you can contribute.

#### How Do I Submit A (Good) Bug Report?

Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [GitHub for Unity issue tracker](https://github.com/github-for-unity/Unity/issues)
and fill out the provided [issue template](./.github/ISSUE_TEMPLATE.md).

The information we are interested in includes:

- details about your environment - which build, which operating system
- details about reproducing the issue - what steps to take, what happens, how
often it happens
- other relevant information - log files, screenshots, etc.

### Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for
GitHub for Unity, including completely new features and minor improvements to
existing functionality. Following these guidelines helps maintainers and the
community understand your suggestion :pencil: and find related suggestions
:mag_right:.

Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion)
as you might find out that you don't need to create one. When you are creating
an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion).
Fill in [the template](./.github/ISSUE_TEMPLATE.md), including the steps
that you imagine you would take if the feature you're requesting existed.

#### Before Submitting An Enhancement Suggestion

**Perform a [cursory search](https://github.com/github-for-unity/Unity/labels/enhancement)**
to see if the enhancement has already been suggested. If it has, add a
:thumbsup: to indicate your interest in it, or comment if there is additional
information you would like to add.

#### How Do I Submit A (Good) Enhancement Suggestion?

Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [GitHub for Unity issue tracker](https://github.com/github-for-unity/Unity/issues)
and provide the following information:

* **Use a clear and descriptive title** for the issue to identify the
suggestion.
* **Provide a step-by-step description of the suggested enhancement** in as
much detail as possible. This additional context helps the maintainers to
understand the enhancement from your perspective
* **Explain why this enhancement would be useful** to GitHub for Unity users.
* **Include screenshots and animated GIFs** if relevant to help you demonstrate
the steps or point out the part of GitHub for Unity which the suggestion is
related to. You can use [this tool](http://www.cockos.com/licecap/) to record
GIFs on macOS and Windows.
* **List some other applications where this enhancement exists, if applicable.**

### Up For Grabs

As the team is working towards the 1.0 release, we'll identify enhancements or
bugs that can be categorized as tasks that:

- have low impact, or have a known workaround
- should be fixed
- have a narrow scope and/or easy reproduction steps
- can be worked on independent of other tasks

These issues will be labelled as [`up-for-grabs`](https://github.com/github-for-unity/Unity/labels/up-for-grabs)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our label is called help wanted. We can either rename the label or change this text

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed the label help-wanted to up-for-grabs

in the repository. If you are interested in contributing to the project, please
comment on the issue to let the maintainers (and community) know you are
interested in picking this up.

## Additional Notes

### Issue and Pull Request Labels

This section lists the labels we use to help us track and manage issues and
pull requests.

#### Type of Issue and Issue State
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the label links on this document are pointing to desktop/desktop

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doh. Fixed.


| Label name | :mag_right: | Description |
| --- | --- | --- |
| `enhancement` | [search](https://github.com/github-for-unity/Unity/labels/enhancement) | Feature requests. |
| `bug` | [search](https://github.com/github-for-unity/Unity/labels/bug) | Confirmed bugs or reports that are very likely to be bugs. |
| `question` | [search](https://github.com/github-for-unity/Unity/labels/question) | Questions more than bug reports or feature requests (e.g. how do I do X). |
| `more-information-needed` | [search](https://github.com/github-for-unity/Unity/labels/more-information-needed) | More information needs to be collected about these problems or feature requests (e.g. steps to reproduce). |
| `needs-reproduction` | [search](https://github.com/github-for-unity/Unity/labels/needs-reproduction) | Likely bugs, but haven't been reliably reproduced. |
| `macOS` | [search](https://github.com/github-for-unity/Unity/labels/macOS) | Issues specific to macOS users. |
| `Windows` | [search](https://github.com/github-for-unity/Unity/labels/Windows) | Issues specific to Windows users. |
| `Linux` | [search](https://github.com/github-for-unity/Unity/labels/Linux) | Issues specific to Linux users. |

#### Topics

| Label name | :mag_right: | Description |
| --- | --- | --- |
| `up-for-grabs` | [search](https://github.com/github-for-unity/Unity/labels/up-for-grabs) | Issues marked as ideal for external contributors. |
| `polish` | [search](https://github.com/github-for-unity/Unity/labels/polish) | Issues not critical to the application but would provide a better experience if resolved. |
| `tech-debt` | [search](https://github.com/github-for-unity/Unity/labels/tech-debt) | Issues related to code or architecture decisions. |
| `design` | [search](https://github.com/github-for-unity/Unity/labels/design) | Issues that require some design input from the maintainers as part of completing the work. |

#### Workflow

| Label name | :mag_right: | Description |
| --- | --- | --- |
| `ready-for-review` | [search](https://github.com/github-for-unity/Unity/labels/ready-for-review) | Pull Requests that are ready to be reviewed by the maintainers. |
60 changes: 54 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,59 @@
# GitHub for Unity
# [GitHub for Unity](https://unity.github.com)

The GitHub for Unity extension brings Git and GitHub into Unity, integrating source control into your work with friendly and accessible tools and workflows.
![Build Status](https://ci.appveyor.com/api/projects/status/github/github-for-unity/Unity?branch=master&svg=true)

[Install](docs/install.md)
[![Join the chat at https://gitter.im/github/VisualStudio](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/github-for-unity/Unity?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

[Features](docs/features.md)
The GitHub for Unity extension brings [git](https://git-scm.com/) and GitHub into [Unity](https://unity3d.com/), integrating source control into your work with friendly and accessible tools and workflows.

[Known Issues](docs/known-issues.md)
![GitHub for Unity screenshot](https://unity.github.com/assets/unity-screenshot.png)

[Contributing](docs/contributing/readme.md)
## Where can I get it?

[Releases](https://github.com/github-for-unity/Unity/releases)

## Installing GitHub for Unity

### Requirements

- [Unity 5.4 or higher](https://store.unity.com/download). Personal edition is fine.

### Installation

- Create a new Unity project.
- Download the latest release from the [releases page](https://github.com/github/UnityInternal/releases) and double-click the unitypackage file. The package will install itself into the project currently opened in Unity, and Unity will automatically load it once all the files are in the project.

## I have a problem with GitHub for Unity

First, please search the [open issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen)
and [closed issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aclosed)
to see if your issue hasn't already been reported (it may also be fixed).

If you can't find an issue that matches what you're seeing, open a [new issue](https://github.com/github-for-unity/Unity/issues/new)
and fill out the template to provide us with enough information to investigate
further.

## How can I contribute to GitHub for Unity?

The [CONTRIBUTING.md](./CONTRIBUTING.md) document will help you get setup and
familiar with the source. The [documentation](docs/) folder also contains more
resources relevant to the project.

If you're looking for something to work on, check out the [up-for-grabs](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) label.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our label is called help wanted. We should either rename the label or change this text

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed the label help-wanted to up-for-grabs


## More Resources

See [unity.github.com](https://unity.github.com) for more product-oriented
information about GitHub for Unity.

## License

**[MIT](LICENSE)**

The MIT license grant is not for GitHub's trademarks, which include the logo
designs. GitHub reserves all trademark and copyright rights in and to all
GitHub trademarks. GitHub's logos include, for instance, the stylized
Invertocat designs that include "logo" in the file title in the following
folder: [IconsAndLogos](https://github.com/github-for-unity/Unity/tree/master/src/UnityExtension/Assets/Editor/GitHub.Unity/IconsAndLogos).

Copyright 2015 - 2017 GitHub, Inc.
46 changes: 42 additions & 4 deletions docs/contributing/how-to-build.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,56 @@
# Contributing to GitHub for Unity

## Build Requirements
To build GitHub for Unity we recommend using Visual Studio 2015 or Mono 4.x and bash.

This repository is LFS-enabled. To clone it, you should use a git client that supports git LFS 2.x and submodules.

### Windows

- Visual Studio 2015+ or Mono 4.x + bash shell (git bash). Mono 5.x will not work
- `UnityEngine.dll` and `UnityEditor.dll`.
- If you've installed Unity in the default location of `C:\Program Files\Unity` or `C:\Program Files (x86)\Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

### MacOS

- Mono 4.x. Mono 5.x will likely not work
- `UnityEngine.dll` and `UnityEditor.dll`.
- If you've installed Unity in the default location of `/Applications/Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

## Solution organization

The `GitHub.Unity.sln` solution includes several projects:

- dotnet-httpclient35 and octokit: external dependencies for threading and github api support, respectively. These are the submodules.
- packaging: empty projects with build rules that copy DLLs to various locations for testing
- Tests: unit and integration test projects
- GitHub.Logging: A logging helper library
- GitHub.Api: The core of the extension. This project is C#6 and includes async/await threading and other features that Unity cannot currently compile.
- GitHub.Unity: Unity-specific code. This project is compilable by Unity

## How to Build


Clone the repository and its submodules in a git GUI client that supports Git LFS or via the command line with the following commands

```
git lfs clone https://github.com/github-for-unity/Unity
cd Unity
git submodule init
git submodule deinit script
git submodule update
```

### Visual Studio

To build with Visual Studio 2015 open the solution file `GitHub.Unity.sln`. Select `Build Solution` in the `Build` menu.

### Mono and Bash
### Mono and Bash (windows and mac)

To build with Mono 4.x and Bash execute `build.sh` in a bash shell.

## Build Output

Building the project creates an output folder named `github-unity-test` that is a sibling to the cloned repository. For instance, if the solution is located at `c:\Projects\Unity` the test output can be foud at `c:\Projects\github-unity-test`. The output folder contains a blank Unity project folder named `GitHubExtensionProject`. This folder is a blank Unity 5.5 project with GitHub for Unity installed.
Once you've built the solution for the first time, you can open `src/UnityExtension/Assets/Editor/GitHub.Unity` in Unity. This folder contains the `GitHub.Unity` project and all the Unity UI and other Unity-specific code that you can have Unity compile as normal for quick testing and prototyping.

The build also creates a Unity test project called `GitHubExtension` inside a directory called `github-unity-test` next to your local clone. For instance, if the repository is located at `c:\Projects\Unity` the test project will be at `c:\Projects\github-unity-test\GitHubExtension`. You can use this project to test binary builds of the extension in a clean environment (all needed DLLs will be copied to it every time you build).

Note: some files might be locked by Unity if have one of the build output projects open when you compile from VS or the command line. This is expected and shouldn't cause issues with your builds.
26 changes: 26 additions & 0 deletions docs/contributing/setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Development Environment Setup

## Setup

You will need to install these tools on your machine:

### macOS

### Windows

## Verification

## Building GitHub for Unity

## Running tests

## Debugging

## The Next Steps

You're almost there! Here's a couple of things we recommend you read next:

- [Up for Grabs](../../CONTRIBUTING.md#up-for-grabs) - we've marked some tasks in
the backlog that are ideal for external contributors
- [Code Reviews](../process/reviews.md) - some notes on how the team does
code reviews
Loading