From 8160e2f73ebba65760852babc3f47f62f7590b0d Mon Sep 17 00:00:00 2001 From: Matthieu Mouminoux Date: Sat, 7 May 2022 09:54:14 +0200 Subject: [PATCH] Add ci/release with github action (#24) --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ .github/workflows/release.yml | 31 +++++++++++++++++++++++++++++++ .goreleaser.yml | 33 +++++++++++++++++++++++++++++++++ .travis.yml | 25 ------------------------- README.md | 2 +- 5 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml create mode 100644 .goreleaser.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..17a5a12 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,20 @@ +name: CI + +on: [ push, pull_request ] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.17 + uses: actions/setup-go@v1 + with: + go-version: 1.17 + id: go + + - name: Check out code + uses: actions/checkout@v2 + + - name: Build & Test + run: make build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2bccafe --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,31 @@ +name: Release + +# Triggered only when a tag is pushed +on: + push: + branches: + - "!*" + tags: + - "v*" +jobs: + release: + runs-on: ubuntu-latest + name: goreleaser + steps: + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Release the application + uses: goreleaser/goreleaser-action@v2 + with: + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 0000000..13d13fe --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,33 @@ +builds: + - env: + - CGO_ENABLED=0 + ldflags: + - -s -w + - -extldflags "-static" + - -X main.version={{.Version}} + goos: + - linux + - darwin + goarch: + - amd64 + - arm64 + binary: kafkacli + +archives: + - replacements: + darwin: Darwin + linux: Linux + amd64: x86_64 + +checksum: + name_template: 'checksums.txt' + +snapshot: + name_template: "{{ .Tag }}-next" + +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 41bae95..0000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -sudo: false -language: go -go: -- 1.12 - -env: - - GO111MODULE=on - -install: make build - -before_deploy: -- mkdir -p bin -- GOOS=linux GOARCH=amd64 go build -o bin/kafkacli-Linux-x86_64 -ldflags="-X main.version=$TRAVIS_TAG" -- GOOS=darwin GOARCH=amd64 go build -o bin/kafkacli-Darwin-x86_64 -ldflags="-X main.version=$TRAVIS_TAG" - -deploy: - provider: releases - file_glob: true - file: bin/* - skip_cleanup: true - on: - tags: true - go: 1.12 - api-key: - secure: RsH+2wuqMIP26WZ++1+fZ1uEPAHZks5g396EAEpFNNWOLtJ6c9aKH2Zxc2VY8pGACJeziZqAP1c+/vMznQ1aeaUiISBo2RgtktDZOvoMyDnNLremleV658Kr608n7veccoWtqJorTzqe/YjUHHvBDNP6KmupDMwIedmimc4jjQGLC+LtnpQM1eQiH105HY/RJqCkunSDAjLmLvdrECd0+TnO+TBb1hXCvIHimaU4FppVYV4pMW41w76KJksXw1PV02u9MQpf5QLdxw6UqQgSeK2xH6024yrRbCVyvqyGp9Ok+upYYpCkJEgkEI8Sf14y6pALGJSZblKfraj30f9CvEZsk/w9m0QSFhv97LRrh1SKhrhISpRGEQgaKg6+AHUeyN+4hqfzmTlDXIW8xwscXSlwm8TVa2QFLBRbx9PcS0kglh5hezt94391EWDxAP5hHL37hFOqe+HdQbkpDtMTzzimMxumNJ5Ih7UIQsBo33pGnGo1jnyLLEDma2pC2MjSsF0xqaiTeoQklPzhQ0WNFeqRtF7tlv7Uie1zxX3XYbkUuwWWxd464+bZEMrOi5JgkkMD9MDvkswMIP6jkP6Y4/1hDXvufJBEjxHVMm6qwKSFJ5r/khChEEYkEzu4aRVvfB+PcnqdxJ7lHlgY09HK+M50sA7kRvk/Ws3+gtj1Vh8= diff --git a/README.md b/README.md index 6891fc2..170c73f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Kafkacli [![Build Status](https://travis-ci.org/mouminoux/kafkacli.svg?branch=master)](https://travis-ci.org/mouminoux/kafkacli) [![Go Report Card](https://goreportcard.com/badge/github.com/mouminoux/kafkacli)](https://goreportcard.com/report/github.com/mouminoux/kafkacli) +# Kafkacli Kafkacli is a consumer and producer client for Apache Kafka.