Skip to content

daftcreations/zipper

Repository files navigation

Zipper Go Report Card

zipper logo

zipper create multiple zip files of X MB

for my friend savan

Views

Usage

zipper <size> <target>
  • Size in KB. Default 3000 which is 3MB
  • target: folder/directory to compress

Local

Create docker buildx builder if using first time docker buildx create --use

slim variant is UPX compressed

git clone --depth 1 https://github.com/pratikbalar/zipper.git zipper
cd zipper

## Get zipper binary
docker buildx bake

## Get slim zipper binary
docker buildx bake artifact-slim

## Get slim and standard multi-platform zipper binaries
docker buildx bake artifact-all

Check dist directory for binaries

## Build image
docker buildx bake image

## Build slim image
docker buildx bake image-slim

## Build multi-platform image
docker buildx bake image-all

## Build multi-platform slim image
docker buildx bake image-all-slim

Container image availabel for

  • linux: amd64, 386, arm64, riscv64, ppc64le, s390x, mips64le, mips64, arm/v7, arm/v6

  • windows: available soon

Image available for

  • linux: amd64, 386, arm64, riscv64, ppc64le, s390x, mips64le, mips64, arm/v7, arm/v6

  • darwin: amd64(Intel), arm64 (M1)

  • windows: amd64, 386, arm64, arm

  • freebsd: amd64, 386, arm64, arm

Debug

Testing

go test -v ./...
go test -v -race ./...

Profiling

go build -ldflags="-X main.profEnable=true" ./cmd/zipper/
./zipper 10000 /home/pratik/workspace/pratikbalar/zipper/test

CPU and Memory profiling

go tool pprof -http=:8080 mem.pprof

Tracing

go tool trace trace.out
Icons made by Freepik from www.flaticon.com

To-Do

move to todo.md


May the source be with you