From c9585c4a1fedc26aeb0ce86a3ad6717271af1e95 Mon Sep 17 00:00:00 2001 From: Anton Novojilov Date: Wed, 30 Mar 2022 11:26:01 +0300 Subject: [PATCH] Migrate to go modules + Improve GitHub actions workflows --- .github/dependabot.yml | 30 ++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 10 +++++----- .github/workflows/codeql.yml | 5 +---- .github/workflows/godoc.yml | 2 +- Makefile | 29 ++++++++++++++++++----------- README.md | 8 ++++---- base62.go | 2 +- branca.go | 2 +- branca_test.go | 4 ++-- example_test.go | 2 +- fuzz.go | 2 +- go.mod | 15 +++++++++++++++ go.sum | 24 ++++++++++++++++++++++++ 13 files changed, 104 insertions(+), 31 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 go.mod create mode 100644 go.sum diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..fc51337 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,30 @@ +version: 2 + +updates: + - package-ecosystem: "gomod" + directory: "/" + target-branch: "develop" + schedule: + interval: "daily" + timezone: "Europe/London" + time: "03:00" + labels: + - "PR • MAINTENANCE" + assignees: + - "andyone" + reviewers: + - "andyone" + + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "develop" + schedule: + interval: "daily" + timezone: "Europe/London" + time: "04:00" + labels: + - "PR • MAINTENANCE" + assignees: + - "andyone" + reviewers: + - "andyone" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20c7eb0..3c3ef6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - go: [ '1.16.x', '1.17.x' ] + go: [ '1.16.x', '1.17.x', '1.18.x' ] steps: - name: Set up Go @@ -32,7 +32,7 @@ jobs: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: ${{env.SRC_DIR}} @@ -58,7 +58,7 @@ jobs: run: goveralls -service github -coverprofile cover.out - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: '14.x' @@ -86,7 +86,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: '1.16.x' + go-version: '1.17.x' id: go - name: Setup PATH @@ -96,7 +96,7 @@ jobs: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: ${{env.SRC_DIR}} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index da7adf3..3444662 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -6,7 +6,7 @@ on: pull_request: branches: [master] schedule: - - cron: '0 19 * * 1,3,5' + - cron: '0 17 * * 1,3,5' jobs: analyse: @@ -19,9 +19,6 @@ jobs: with: fetch-depth: 2 - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: diff --git a/.github/workflows/godoc.yml b/.github/workflows/godoc.yml index 8bf64c0..d789613 100644 --- a/.github/workflows/godoc.yml +++ b/.github/workflows/godoc.yml @@ -10,4 +10,4 @@ jobs: steps: - name: Trigger GoSumDB and PkgGoDev - uses: essentialkaos/pkgre-godoc-action@v1 + uses: essentialkaos/godoc-action@v1 diff --git a/Makefile b/Makefile index d822c09..f19adb7 100644 --- a/Makefile +++ b/Makefile @@ -1,25 +1,22 @@ ################################################################################ -# This Makefile generated by GoMakeGen 1.3.2 using next command: -# gomakegen . +# This Makefile generated by GoMakeGen 1.5.1 using next command: +# gomakegen --mod . # # More info: https://kaos.sh/gomakegen ################################################################################ +export GO111MODULE=on + .DEFAULT_GOAL := help -.PHONY = fmt vet git-config deps deps-test test bench gen-fuzz help +.PHONY = fmt vet bench deps deps-test test gen-fuzz mod-init mod-update mod-vendor help ################################################################################ -git-config: ## Configure git redirects for stable import path services - git config --global http.https://pkg.re.followRedirects true - -deps: git-config ## Download dependencies - go get -d -v golang.org/x/crypto/chacha20poly1305 +deps: mod-update ## Download dependencies -deps-test: git-config ## Download dependencies for tests - go get -d -v pkg.re/essentialkaos/check.v1 +deps-test: deps ## Download dependencies for tests test: ## Run tests go test -covermode=count . @@ -31,6 +28,16 @@ gen-fuzz: ## Generate archives for fuzz testing which go-fuzz-build &>/dev/null || go get -u -v github.com/dvyukov/go-fuzz/go-fuzz-build go-fuzz-build -o fuzz.zip github.com/essentialkaos/branca +mod-init: ## Initialize new module + go mod init + go mod tidy + +mod-update: ## Download modules to local cache + go mod download + +mod-vendor: ## Make vendored copy of dependencies + go mod vendor + fmt: ## Format source code with gofmt find . -name "*.go" -exec gofmt -s -w {} \; @@ -42,6 +49,6 @@ help: ## Show this info @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \ | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[33m%-12s\033[0m %s\n", $$1, $$2}' @echo -e '' - @echo -e '\033[90mGenerated by GoMakeGen 1.3.2\033[0m\n' + @echo -e '\033[90mGenerated by GoMakeGen 1.5.1\033[0m\n' ################################################################################ diff --git a/README.md b/README.md index 3ab4bb0..f94bba4 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@
-`branca.go` is [branca token specification](https://github.com/tuupola/branca-spec) implementation for Golang 1.15+. +`branca.go` is [branca token specification](https://github.com/tuupola/branca-spec) implementation for Golang 1.16+. Features and benefits: @@ -28,13 +28,13 @@ Features and benefits: Make sure you have a working Go 1.16+ workspace (_[instructions](https://golang.org/doc/install)_), then: ```` -go get pkg.re/essentialkaos/branca.v1 +go get github.com/essentialkaos/branca ```` For update to latest stable release, do: ``` -go get -u pkg.re/essentialkaos/branca.v1 +go get -u github.com/essentialkaos/branca ``` ### Usage example @@ -45,7 +45,7 @@ package main import ( "fmt" - "pkg.re/essentialkaos/branca.v1" + "github.com/essentialkaos/branca" ) func main() { diff --git a/base62.go b/base62.go index 1cc32cd..8593fbe 100644 --- a/base62.go +++ b/base62.go @@ -2,7 +2,7 @@ package branca // ////////////////////////////////////////////////////////////////////////////////// // // // -// Copyright (c) 2021 ESSENTIAL KAOS // +// Copyright (c) 2022 ESSENTIAL KAOS // // MIT License // // // // ////////////////////////////////////////////////////////////////////////////////// // diff --git a/branca.go b/branca.go index a42ae48..10ff6c7 100644 --- a/branca.go +++ b/branca.go @@ -3,7 +3,7 @@ package branca // ////////////////////////////////////////////////////////////////////////////////// // // // -// Copyright (c) 2021 ESSENTIAL KAOS // +// Copyright (c) 2022 ESSENTIAL KAOS // // MIT License // // // // ////////////////////////////////////////////////////////////////////////////////// // diff --git a/branca_test.go b/branca_test.go index 6ef51e3..54a384d 100644 --- a/branca_test.go +++ b/branca_test.go @@ -2,7 +2,7 @@ package branca // ////////////////////////////////////////////////////////////////////////////////// // // // -// Copyright (c) 2021 ESSENTIAL KAOS // +// Copyright (c) 2022 ESSENTIAL KAOS // // MIT License // // // // ////////////////////////////////////////////////////////////////////////////////// // @@ -13,7 +13,7 @@ import ( "testing" "time" - . "pkg.re/essentialkaos/check.v1" + . "github.com/essentialkaos/check" ) // ////////////////////////////////////////////////////////////////////////////////// // diff --git a/example_test.go b/example_test.go index 60c54ef..4ff8b03 100644 --- a/example_test.go +++ b/example_test.go @@ -2,7 +2,7 @@ package branca // ////////////////////////////////////////////////////////////////////////////////// // // // -// Copyright (c) 2021 ESSENTIAL KAOS // +// Copyright (c) 2022 ESSENTIAL KAOS // // MIT License // // // // ////////////////////////////////////////////////////////////////////////////////// // diff --git a/fuzz.go b/fuzz.go index 8326fd2..5ef249e 100644 --- a/fuzz.go +++ b/fuzz.go @@ -4,7 +4,7 @@ package branca // ////////////////////////////////////////////////////////////////////////////////// // // // -// Copyright (c) 2021 ESSENTIAL KAOS // +// Copyright (c) 2022 ESSENTIAL KAOS // // MIT License // // // // ////////////////////////////////////////////////////////////////////////////////// // diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a32f882 --- /dev/null +++ b/go.mod @@ -0,0 +1,15 @@ +module github.com/essentialkaos/branca + +go 1.17 + +require ( + github.com/essentialkaos/check v1.2.1 + golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064 +) + +require ( + github.com/kr/pretty v0.3.0 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/rogpeppe/go-internal v1.6.1 // indirect + golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f10add9 --- /dev/null +++ b/go.sum @@ -0,0 +1,24 @@ +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/essentialkaos/check v1.2.1 h1:avvyFy/1acUNwfxwuOLsHeCjfXtMygtbu0lVDr3nxFs= +github.com/essentialkaos/check v1.2.1/go.mod h1:PhxzfJWlf5L/skuyhzBLIvjMB5Xu9TIyDIsqpY5MvB8= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064 h1:S25/rfnfsMVgORT4/J61MJ7rdyseOZOyvLIrZEZ7s6s= +golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=