diff --git a/.goreleaser.yml b/.goreleaser.yml
new file mode 100644
index 00000000..e3cdc393
--- /dev/null
+++ b/.goreleaser.yml
@@ -0,0 +1,42 @@
+# Release automation via GoReleaser (goreleaser.com)
+# Requires a valid GITHUB_TOKEN envar prior to running `goreleaser`
+# See https://goreleaser.com/environment/ for more info
+---
+release:
+  github:
+    owner: golang
+    name: mock
+
+builds:
+  - binary: mockgen
+    goos:
+      - darwin
+      - windows
+      - linux
+    goarch:
+      - amd64
+      - 386
+    env:
+      - CGO_ENABLED=0
+      - GO111MODULE=on
+      - GOPROXY=https://proxy.golang.org
+      - GOSUMDB=sum.golang.org
+    main: ./mockgen/
+archive:
+  format: tar.gz
+  wrap_in_directory: true
+  name_template: '{{ .Binary }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
+  files:
+    - LICENSE
+    - README.md
+checksum:
+  name_template: '{{ .Binary }}-{{ .Version }}-checksums.txt'
+snapshot:
+  name_template: "snap-{{ .Commit }}"
+changelog:
+  sort: asc
+  filters:
+    exclude:
+    - '^docs:'
+    - '^test:'
+    - 'README'