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.