- 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
- macOS:
- 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")
- macOS:
- Symlinks - Some of our tests attempt to create symlinks. On Windows, this requires the permission to be provided.
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.
To run unit and integration tests:
make unit
To run acceptance tests:
make acceptance
Alternately, to run all tests:
make test
To format the code:
make format
To tidy up the codebase and dependencies:
make tidy
To verify formatting and code quality:
make verify
Runs various checks to ensure compliance:
make prepare-for-pr