Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 2.01 KB

DEVELOPMENT.md

File metadata and controls

88 lines (65 loc) · 2.01 KB

Development

Prerequisites

  • Git
    • macOS: (built-in)
    • Windows:
      • choco install git -y
      • git config --global core.autocrlf false
  • Go
    • macOS: brew install go
    • Windows: choco install golang -y
  • Docker
  • Make (and build tools)
    • macOS: xcode-select --install
    • Windows:
      • choco install cygwin make -y
      • [Environment]::SetEnvironmentVariable("PATH", "C:\tools\cygwin\bin;$ENV:PATH", "MACHINE")

Windows Caveats

Tasks

Building

To build pack:

make build

This will output the binary to the directory out/.

Options:

ENV_VAR Description Default
GOCMD Change the go executable. For example, richgo for testing. go
PACK_BIN Change the name or location of the binary relative to out/. pack
PACK_VERSION Tell pack what version to consider itself dev

NOTE: This project uses go modules for dependency management.

Testing

To run unit and integration tests:

make unit

To run acceptance tests:

make acceptance

Alternately, to run all tests:

make test

Tidy

To format the code:

make format

To tidy up the codebase and dependencies:

make tidy

Verification

To verify formatting and code quality:

make verify

Prepare for PR

Runs various checks to ensure compliance:

make prepare-for-pr