From c6816f4bf1244a4f775f1387b1f6273db56b3cdc Mon Sep 17 00:00:00 2001 From: Edwin Hoksberg Date: Mon, 13 Jul 2026 10:17:05 +0200 Subject: [PATCH 1/4] Update dependencies --- go.mod | 16 +++++++++------- go.sum | 53 +++++++++++++++++++++++++++-------------------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index b91cda7..b739225 100644 --- a/go.mod +++ b/go.mod @@ -1,13 +1,15 @@ module beanstalkd-cli -go 1.13 +go 1.25.0 require ( - github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect - github.com/edwinhoksberg/beanstalkd-cli v0.0.0-20200117123345-4921228864cc // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/mpdroog/beanstalkd v0.0.0-20151231090228-bf387addf002 - github.com/sirupsen/logrus v1.4.2 - github.com/urfave/cli v1.22.2 - golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 // indirect + github.com/sirupsen/logrus v1.9.4 + github.com/urfave/cli v1.22.17 +) + +require ( + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + golang.org/x/sys v0.47.0 // indirect ) diff --git a/go.sum b/go.sum index ba40a72..ff202eb 100644 --- a/go.sum +++ b/go.sum @@ -1,31 +1,32 @@ -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/edwinhoksberg/beanstalkd-cli v0.0.0-20200117123345-4921228864cc h1:f6ga3ko8DEd8mNJUONKSSbCmm2N0PT9v2UIjb04khaA= -github.com/edwinhoksberg/beanstalkd-cli v0.0.0-20200117123345-4921228864cc/go.mod h1:sGJNsH6qB0/Xtu5esTGWuQR5y66Nuyw5eEGLX67FshU= -github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/mpdroog/beanstalkd v0.0.0-20151231090228-bf387addf002 h1:QNXRrUAScGch2v2koxvFMpobq88V7cEGvbLfHX8D+Ak= github.com/mpdroog/beanstalkd v0.0.0-20151231090228-bf387addf002/go.mod h1:Qnm/zq76O/pqutkxyyE4WGu30l4S/6iPUnESIDLNFFQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/urfave/cli v1.22.17 h1:SYzXoiPfQjHBbkYxbew5prZHS1TOLT3ierW8SYLqtVQ= +github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From c0875e99d34df93452003f58fcdc642ce7b45596 Mon Sep 17 00:00:00 2001 From: Edwin Hoksberg Date: Mon, 13 Jul 2026 10:27:56 +0200 Subject: [PATCH 2/4] Migrate to github actions --- .github/workflows/ci.yml | 87 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 38 ------------------ Makefile | 4 +- 3 files changed, 89 insertions(+), 40 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ed13d70 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,87 @@ +name: CI + +on: + push: + branches: ["**"] + tags: ["v*"] + pull_request: + +env: + PROGRAM: beanstalkd-cli + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - goos: linux + goarch: amd64 + ext: "" + - goos: linux + goarch: "386" + ext: "" + - goos: windows + goarch: amd64 + ext: ".exe" + - goos: windows + goarch: "386" + ext: ".exe" + - goos: darwin + goarch: amd64 + ext: "" + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version-file: go.mod + + - name: Start beanstalkd + if: matrix.goos == 'linux' + run: docker run -d -p 11300:11300 schickling/beanstalkd + + - name: Install shelltestrunner + if: matrix.goos == 'linux' + run: sudo apt-get update && sudo apt-get -y install shelltestrunner + + - name: Build + env: + GOOS: ${{ matrix.goos }} + GOARCH: ${{ matrix.goarch }} + run: | + VERSION="${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || '' }}" + go build -v -ldflags "-X main.Name=${PROGRAM} -X main.Version=${VERSION}" \ + -o ./bin/${PROGRAM}_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.ext }} + + - name: Test + if: matrix.goos == 'linux' + env: + GOOS: ${{ matrix.goos }} + GOARCH: ${{ matrix.goarch }} + EXT: ${{ matrix.ext }} + run: make ci-test + + - uses: actions/upload-artifact@v4 + with: + name: binary-${{ matrix.goos }}-${{ matrix.goarch }} + path: bin/${{ env.PROGRAM }}_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.ext }} + if-no-files-found: error + + release: + needs: build + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/download-artifact@v4 + with: + path: bin + pattern: binary-* + merge-multiple: true + + - uses: softprops/action-gh-release@v2 + with: + files: bin/* diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 46c7d97..0000000 --- a/.travis.yml +++ /dev/null @@ -1,38 +0,0 @@ -os: - - linux - -language: go - -services: - - docker - -env: - global: - - PROGRAM=beanstalkd-cli - - GO111MODULE=on - jobs: - - GIMME_OS=linux GIMME_ARCH=amd64 EXT= - - GIMME_OS=linux GIMME_ARCH=386 EXT= - - GIMME_OS=windows GIMME_ARCH=amd64 EXT=.exe - - GIMME_OS=windows GIMME_ARCH=386 EXT=.exe - - GIMME_OS=darwin GIMME_ARCH=amd64 EXT= - -before_install: - - docker run -d -p 11300:11300 schickling/beanstalkd - -install: - - sudo apt-get -y install shelltestrunner - - go get -v - -script: - - go build -v -ldflags "-X main.CommitHash=${TRAVIS_COMMIT} -X main.Name=${PROGRAM} -X main.Version=${TRAVIS_TAG}" -o ./bin/beanstalkd-cli_${GIMME_OS}_${GIMME_ARCH}${EXT} - - make ci-test - -deploy: - provider: releases - token: - secure: XK7hoV3VH4ya/I+dw4JPNYf9u1AZkP02T7ZkfMAHDK5pYWyS9S8MeRj/kCrgjPi5tLMgsPcxrN19FXa+FVkkqc1ngGd4ALrJMDx4/RVMyH6JKhr/pmTt6gxTumrCclQrPiubhVaM5ihfY9NRxymZnipKHWtZTuLNzy88m4Xn2yRKYk1FSXr/ssE6qY7aW3StjqoDNZi6TeUd7Dooz2WTwCdquH23EsUiclJ1WMKSHJz7ROeiBU7B2Vvp1uFIAijr5L4Vw96XVfEDkL1G0zB6IX1/IJ0dQk4SiL+Qv26GcI3zsVfH9UZCa9NfcFEMwvjb5a2bcPRlxIww+ScN01OLD6IY8TcKjGWkhmCx9bozN+m402C273ELypBptgjw2F0tOgMqdT4Shr+s8RqnSLru5kZ/kyJXMN+rgN/c3pA1YpZmbjnEt90muSwevkNEUG47mwaTwqHoEvb+tS3LuLKt7iFitlu7P9i15UlOTgFDSxSoimGHoKJwkLukSKqyFnlIXTprzj2quENxekM1OhmpGC2YW+81JZWfzbITWtY5D8j6JXBv//1rF5QgTscovd8xUTGN7FzezLBsSAio+DzJ1ZiDqfM2czSRTf/3ZO2sENVdOnXztleyDx91eZWVSb/BFUXCW1fJ74xChdQjZk4Uau21OC3L9wiWdhQu55YfyRw= - file: ./bin/beanstalkd-cli_${GIMME_OS}_${GIMME_ARCH}${EXT} - skip_cleanup: true - on: - tags: true diff --git a/Makefile b/Makefile index 69723b2..c5af96b 100644 --- a/Makefile +++ b/Makefile @@ -20,8 +20,8 @@ install: gzip -c $(PROGRAM).man | tee $(MANPATH)/$(PROGRAM).1.gz > /dev/null ci-test: -ifeq ($(GIMME_OS),linux) - shelltest --with ./bin/beanstalkd-cli_$(GIMME_OS)_$(GIMME_ARCH)$(EXT) --diff --color --all tests +ifeq ($(GOOS),linux) + shelltest --with ./bin/beanstalkd-cli_$(GOOS)_$(GOARCH)$(EXT) --diff --color --all tests endif clean: From bfec0962282d1d270c60a0b1d33e9f046bb3d074 Mon Sep 17 00:00:00 2001 From: Edwin Hoksberg Date: Mon, 13 Jul 2026 10:34:00 +0200 Subject: [PATCH 3/4] Add workflow dispatch option --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed13d70..4e3f461 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ on: branches: ["**"] tags: ["v*"] pull_request: + workflow_dispatch: env: PROGRAM: beanstalkd-cli From 3ded3ab130d666aeabdb23fc793735be8c36555f Mon Sep 17 00:00:00 2001 From: Edwin Hoksberg Date: Mon, 13 Jul 2026 10:37:24 +0200 Subject: [PATCH 4/4] Only run workflow for master branch, pull requests and tags --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e3f461..2eff58e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: CI on: push: - branches: ["**"] + branches: [master] tags: ["v*"] pull_request: workflow_dispatch: