Files
runner/docs/contribute.md
T

60 lines
2.2 KiB
Markdown
Raw Normal View History

2019-12-18 22:49:31 -05:00
# Contributions
2019-10-10 00:52:42 -04:00
2019-12-18 22:49:31 -05:00
We welcome contributions in the form of issues and pull requests. We view the contributions and the process as the same for github and external contributors.
## Issues
Log issues for both bugs and enhancement requests. Logging issues are important for the open community.
Issues in this repository should be for the runner application. Note that the VM and virtual machine images (including the developer toolsets) installed on the actions hosted machine pools are located [in this repository](https://github.com/actions/virtual-environments)
## Enhancements and Feature Requests
We ask that before significant effort is put into code changes, that we have agreement on taking the change before time is invested in code changes.
1. Create an enhancment issue. Once agreed we will take the enhancment
2. Create an ADR to agree on the details of the change.
An ADR is an Architectural Decision Record. This allows consensus on the direction forward and also serves as a record of the change and motivation. [Read more here](adrs/README.md)
## Development Life Cycle
### Required Dev Dependencies
2019-10-10 00:52:42 -04:00
![Win](res/win_sm.png) Git for Windows [Install Here](https://git-scm.com/downloads) (needed for dev sh script)
2019-12-18 22:49:31 -05:00
### To Build, Test, Layout
2019-10-10 00:52:42 -04:00
2019-11-05 14:21:50 -08:00
Navigate to the `src` directory and run the following command:
2019-10-10 00:52:42 -04:00
![Win](res/win_sm.png) `dev {command}`
![*nix](res/linux_sm.png) `./dev.sh {command}`
**Commands:**
2019-12-18 15:28:36 -05:00
* `layout` (`l`): Run first time to create a full runner layout in `{root}/_layout`
* `build` (`b`): Build everything and update runner layout folder
* `test` (`t`): Build runner binaries and run unit tests
2019-10-10 00:52:42 -04:00
2019-11-05 14:21:50 -08:00
Sample developer flow:
2019-10-10 00:52:42 -04:00
```bash
git clone https://github.com/actions/runner
cd ./src
2019-12-18 15:28:36 -05:00
./dev.(sh/cmd) layout # the runner that build from source is in {root}/_layout
2019-10-10 00:52:42 -04:00
<make code changes>
./dev.(sh/cmd) build # {root}/_layout will get updated
./dev.(sh/cmd) test # run all unit tests before git commit/push
```
2019-12-18 22:49:31 -05:00
### Editors
2019-10-10 00:52:42 -04:00
[Using Visual Studio Code](https://code.visualstudio.com/)
2019-12-18 22:49:31 -05:00
[Using Visual Studio 2019](https://www.visualstudio.com/vs/)
2019-10-10 00:52:42 -04:00
2019-12-18 22:49:31 -05:00
### Styling
2019-10-10 00:52:42 -04:00
2019-11-05 14:21:50 -08:00
We use the .NET Foundation and CoreCLR style guidelines [located here](
2019-10-10 00:52:42 -04:00
https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/coding-style.md)