Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 1.6 KB

File metadata and controls

49 lines (31 loc) · 1.6 KB

Developing cloud-nuke

Running Locally

go run main.go

Running Tests

WARNING: Many tests run against a real AWS account and create/destroy actual resources. DO NOT hit CTRL+C while tests are running — this prevents proper cleanup. We are not responsible for any charges you may incur.

Configure your AWS credentials before running tests.

# Run all tests
go test -v ./...

# Run tests in a specific package
cd aws
go test -v

# Run a specific test
cd aws
go test -v -run TestListAMIs

# Run a specific test in aws/resources
cd aws/resources
go test -v -run TestLambdaFunction_GetAll

# Opt-in to expensive tests via env vars
TEST_ACMPCA_EXPENSIVE_ENABLE=1 go test -v ./...

Formatting

Every source file should be formatted with go fmt.

Releasing New Versions

We follow the release process defined in our Coding Methodology.

Choosing a Release Tag

If the release includes new resource types, bump the minor version (X in v0.X.Y). Since v0.2.0, cloud-nuke automatically includes new resources (opt-out model), so new resource types are inherently backward-incompatible for users with CI pipelines around cloud-nuke.

Creating a Release

Go to the Releases Page and create a new release. CircleCI will automatically detect the tag, build binaries for every OS, and upload them to the GitHub release.