github.com/buildpack/pack@v0.5.0/CONTRIBUTING.md (about) 1 We're glad you are interested in contributing to this project. We hope that this 2 document helps you get started. 3 4 If something is missing, incorrect, or made irrelevant please feel free to make 5 a PR to keep it up-to-date. 6 7 ## Prerequisites 8 9 - [Go](https://golang.org/dl/) 10 - including [Git](https://git-scm.com/) 11 - [Docker](https://www.docker.com/) 12 13 ## Development 14 15 ### Building 16 17 To build pack: 18 ``` 19 make build 20 ``` 21 22 This will output the binary to the directory `out/`. 23 24 Options: 25 26 | ENV_VAR | Description | Default | 27 |--------------|------------------------------------------------------------------------|---------| 28 | GOCMD | Change the `go` executable. For example, [richgo][rgo] for testing. | go | 29 | PACK_BIN | Change the name or location of the binary relative to `out/`. | pack | 30 | PACK_VERSION | Tell `pack` what version to consider itself | `dev` | 31 32 [rgo]: https://github.com/kyoh86/richgo 33 34 _NOTE: This project uses [go modules](https://github.com/golang/go/wiki/Modules) for dependency management._ 35 36 ### Testing 37 38 To run unit and integration tests: 39 40 ```bash 41 make unit 42 ``` 43 44 To run acceptance tests: 45 ```bash 46 make acceptance 47 ``` 48 49 Alternately, to run all tests: 50 ```bash 51 make test 52 ``` 53 54 ### Formatting 55 56 To format the code: 57 58 ```bash 59 make format 60 ``` 61 62 ### Verification 63 64 To verify formatting and vet: 65 ```bash 66 make verify 67 ``` 68 69 ## Pull Requests 70 71 1. **[Fork]((https://help.github.com/en/articles/fork-a-repo)) the repo** 72 2. **Code, Test, Commit...** 73 74 _Don't forget utilize the convenient make functions above._ 75 76 3. **Preparing a Branch** 77 78 We prefer to have PRs that are encompassed in a single commit. This might 79 require that you execute some of these commands: 80 81 If you are no up-to-date with master: 82 ```bash 83 # rebase from master (applies your changes on top of master) 84 git pull -r origin master 85 ``` 86 87 If you made more than one commit: 88 ```bash 89 # squash multiple commits, if applicable 90 # set the top most commit to `pick` and all subsequent to `squash` 91 git rebase -i origin/master 92 ``` 93 94 Another requirement is that you sign your work. See [DCO](https://probot.github.io/apps/dco/) for more details. 95 ```bash 96 git commit --amend --signoff 97 ``` 98 99 4. **Submit a Pull Request** 100 101 Submitting the pull request is done in [GitHub](https://github.com/buildpack/pack/compare/) by selecting 102 your branch as the `compare` branch.