From 7638ed0cbe51d9b10a1375c5d4cd53e42ca50db7 Mon Sep 17 00:00:00 2001 From: jwierzbo Date: Mon, 30 Oct 2023 22:45:47 +0100 Subject: [PATCH 1/3] GT-353 Automate release process --- .gitignore | 3 + CHANGELOG.md | 1 + MAINTAINERS.md | 9 + Makefile | 48 ++++- VERSION | 1 + agency/transaction.go | 2 +- context.go | 2 +- go.mod | 1 + go.sum | 4 + tools/release/release.go | 328 ++++++++++++++++++++++++++++++++ v2/connection/modifiers.go | 4 +- v2/connection/version-driver.go | 5 - v2/scripts/update-version.sh | 7 - v2/version/VERSION | 1 + v2/version/version-driver.go | 10 + version-driver.go | 11 +- 16 files changed, 413 insertions(+), 24 deletions(-) create mode 100644 VERSION create mode 100644 tools/release/release.go delete mode 100644 v2/connection/version-driver.go delete mode 100755 v2/scripts/update-version.sh create mode 100644 v2/version/VERSION create mode 100644 v2/version/version-driver.go diff --git a/.gitignore b/.gitignore index 55c32763..ed9965c6 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ debug/ # direnv files .envrc + +# vim files +.DS_Store \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 7147174f..be5b26b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Deprecate ClientConfig.SynchronizeEndpointsInterval due to bug in implementation - [V1] Add Rename function for collections (single server only). - [V1] Fix using VST for database with non-ANSI characters +- Automate release process ## [1.6.0](https://github.com/arangodb/go-driver/tree/v1.6.0) (2023-05-30) - Add ErrArangoDatabaseNotFound and IsExternalStorageError helper to v2 diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 5677dab0..54f34b5a 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -25,3 +25,12 @@ To attach DLV debugger run tests with `DEBUG=true` flag e.g.: ```shell DEBUG=true TESTOPTIONS="-test.run TestResponseHeader -test.v" make run-tests-single-json-with-auth ``` + +# Release Instructions + +1. Update CHANGELOG.md +2. Make sure that GitHub access token exist in `~/.arangodb/github-token` and has read/write access for this repo. +3. Run `make release-patch|minor|major` to create a release. + - If you want to create a pre-release, use `make prerelease-patch|minor|major`. + - To release v2 version, use `make release-v2-patch|minor|major`. +4. Go To GitHub and fill the description with the content of CHANGELOG.md diff --git a/Makefile b/Makefile index ccf4f716..9beedf37 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,3 @@ -DRIVER_VERSION := 1.6.0 - PROJECT := go-driver SCRIPTDIR := $(shell pwd) @@ -491,6 +489,8 @@ tools: __dir_setup @GOBIN=$(TMPDIR)/bin go install github.com/google/addlicense@v1.0.0 @echo ">> Fetching govulncheck" @GOBIN=$(TMPDIR)/bin go install golang.org/x/vuln/cmd/govulncheck@v0.1.0 + @echo ">> Fetching github-release" + @GOBIN=$(TMPDIR)/bin go install github.com/github-release/github-release@v0.10.0 .PHONY: license license: @@ -561,7 +561,43 @@ run-v2-tests-resilientsingle-with-auth: @echo "Resilient Single, with authentication, v2" @${MAKE} TEST_MODE="resilientsingle" TEST_AUTH="rootpw" __run_v2_tests -apply-version: - @echo "Updating version to: $(DRIVER_VERSION)" - @VERSION=$(DRIVER_VERSION) go generate version-driver.go - @VERSION=$(DRIVER_VERSION) go generate ./v2/connection/version-driver.go +GH_RELEASE := $(TMPDIR)/bin/github-release +RELEASE := $(SCRIPTDIR)/tools/release +V2_VERSION := ./v2/version/VERSION + +release-patch: + go run $(RELEASE) -type=patch -github-release=$(GH_RELEASE) + +release-minor: + go run $(RELEASE) -type=minor -github-release=$(GH_RELEASE) + +release-major: + go run $(RELEASE) -type=major -github-release=$(GH_RELEASE) + +prerelease-patch: + go run $(RELEASE) -type=patch -prerelease=true -github-release=$(GH_RELEASE) + +prerelease-minor: + go run $(RELEASE) -type=minor -prerelease -github-release=$(GH_RELEASE) + +prerelease-major: + go run $(RELEASE) -type=major -prerelease -github-release=$(GH_RELEASE) + +release-v2-patch: + go run $(RELEASE) -type=patch -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + +release-v2-minor: + go run $(RELEASE) -type=minor -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + +release-v2-major: + go run $(RELEASE) -type=major -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + +prerelease-v2-patch: + go run $(RELEASE) -type=patch -prerelease=true -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + +prerelease-v2-minor: + go run $(RELEASE) -type=minor -prerelease -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + +prerelease-v2-major: + go run $(RELEASE) -type=major -prerelease -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) + diff --git a/VERSION b/VERSION new file mode 100644 index 00000000..ce6a70b9 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.6.0 \ No newline at end of file diff --git a/agency/transaction.go b/agency/transaction.go index 06b5b012..bf4f9ba0 100644 --- a/agency/transaction.go +++ b/agency/transaction.go @@ -43,7 +43,7 @@ type Transaction struct { // The argument 'clientID' should be used to mark that transaction sender uniquely. func NewTransaction(clientID string, options TransactionOptions) Transaction { if clientID == "" { - clientID = fmt.Sprintf("go-driver/%s", driver.DriverVersion) + clientID = fmt.Sprintf("go-driver/%s", driver.DriverVersion()) } return Transaction{ diff --git a/context.go b/context.go index 30c41140..cf7ba914 100644 --- a/context.go +++ b/context.go @@ -359,7 +359,7 @@ func setDirtyReadFlagIfRequired(ctx context.Context, wasDirty bool) { // ApplyVersionHeader adds the driver version to the request. func ApplyVersionHeader(ctx context.Context, req Request) { - val := fmt.Sprintf("go-driver-v1/%s", DriverVersion) + val := fmt.Sprintf("go-driver-v1/%s", DriverVersion()) if ctx != nil { if v := ctx.Value(keyDriverFlags); v != nil { if flags, ok := v.([]string); ok { diff --git a/go.mod b/go.mod index db4206ab..87f427e4 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.19 require ( github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e github.com/coreos/go-iptables v0.6.0 + github.com/coreos/go-semver v0.3.1 github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9 github.com/golang-jwt/jwt v3.2.2+incompatible github.com/google/uuid v1.1.1 diff --git a/go.sum b/go.sum index 47ef6bcf..11e5137e 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2 github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho= github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk= github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= +github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -38,3 +40,5 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/tools/release/release.go b/tools/release/release.go new file mode 100644 index 00000000..34ee99f7 --- /dev/null +++ b/tools/release/release.go @@ -0,0 +1,328 @@ +// +// DISCLAIMER +// +// Copyright 2023 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + +package main + +import ( + "flag" + "fmt" + "log" + "os" + "os/exec" + "path/filepath" + "strconv" + "strings" + "time" + + "github.com/coreos/go-semver/semver" +) + +const ( + preReleasePrefix = "preview-" +) + +var ( + versionFile string // Full path of VERSION file + releaseType string // What type of release to create (major|minor|patch) + + ghRelease string // Full path of github-release tool + ghUser string // Github account name to create release in + ghRepo string // Github repository name to create release in + + preRelease bool // If set, mark release as preview + dryRun bool // If set, do not really push a release or any git changes +) + +func init() { + defaultDryRun := getBoolEnvVar("DRYRUN", false) + flag.StringVar(&versionFile, "versionfile", "./VERSION", "Path of the VERSION file") + flag.StringVar(&releaseType, "type", "patch", "Type of release to build (major|minor|patch)") + flag.StringVar(&ghRelease, "github-release", "github-release", "Full path of github-release tool") + flag.StringVar(&ghUser, "github-user", "arangodb", "Github account name to create release in") + flag.StringVar(&ghRepo, "github-repo", "go-driver", "Github repository name to create release in") + flag.BoolVar(&preRelease, "prerelease", false, "If set, mark release as preview") + flag.BoolVar(&dryRun, "dryrun", defaultDryRun, "If set, do not really push a release or any git changes") +} + +func main() { + flag.Parse() + ensureGithubToken() + checkCleanRepo() + + version := bumpVersionInFile(releaseType) + tagName := fmt.Sprintf("v%s", version) + + // create Tag + gitTag(tagName) + gitPush(tagName) + + // create release + githubCreateDraftRelease(tagName) + ghPublishDraftRelease(tagName) + + // bump version to devel + bumpVersionInFile("devel") + gitPush("") +} + +// ensureGithubToken makes sure the GITHUB_TOKEN env var is set. +func ensureGithubToken() { + token := os.Getenv("GITHUB_TOKEN") + if token == "" { + p := filepath.Join(os.Getenv("HOME"), ".arangodb/github-token") + if raw, err := os.ReadFile(p); err != nil { + log.Fatalf("Failed to release '%s': %v", p, err) + } else { + token = strings.TrimSpace(string(raw)) + os.Setenv("GITHUB_TOKEN", token) + } + } +} + +func checkCleanRepo() { + output, err := exec.Command("git", "status", "--porcelain").Output() + if err != nil { + log.Fatalf("Failed to check git status: %v\n", err) + } + if strings.TrimSpace(string(output)) != "" { + log.Fatal("Repository has uncommitted changes\n") + } +} + +func runMake(target string) { + if err := run("make", target); err != nil { + log.Fatalf("Failed to make %s: %v\n", target, err) + } +} + +func bumpVersionInFile(action string) string { + contents, err := os.ReadFile(versionFile) + if err != nil { + log.Fatalf("Cannot read '%s': %v\n", versionFile, err) + } + + version := semver.New(strings.TrimSpace(string(contents))) + bumpVersion(version, action, preRelease) + + contents = []byte(version.String()) + if err := os.WriteFile(versionFile, contents, 0755); err != nil { + log.Fatalf("Cannot write '%s': %v\n", versionFile, err) + } + + gitCommitAll(fmt.Sprintf("Updated to %s", version)) + log.Printf("Updated '%s' to '%s'\n", versionFile, string(contents)) + + return version.String() +} + +func bumpVersion(version *semver.Version, action string, isPreRelease bool) { + if action == "devel" { + version.Metadata = "git" + return + } + version.Metadata = "" + + currVersionIsPreRelease := strings.HasPrefix(string(version.PreRelease), preReleasePrefix) + if isPreRelease { + firstPreRelease := semver.PreRelease(fmt.Sprintf("%s1", preReleasePrefix)) + switch action { + case "patch": + if currVersionIsPreRelease { + version.PreRelease = bumpPreReleaseIndex(version.PreRelease) + } else { + version.BumpPatch() + version.PreRelease = firstPreRelease + } + case "minor": + if currVersionIsPreRelease && version.Patch == 0 { + version.PreRelease = bumpPreReleaseIndex(version.PreRelease) + } else { + version.BumpMinor() + version.PreRelease = firstPreRelease + } + case "major": + if currVersionIsPreRelease && version.Minor == 0 && version.Patch == 0 { + version.PreRelease = bumpPreReleaseIndex(version.PreRelease) + } else { + version.BumpMajor() + version.PreRelease = firstPreRelease + } + } + } else { + version.PreRelease = "" + if !currVersionIsPreRelease { + switch action { + case "patch": + version.BumpPatch() + case "minor": + version.BumpMinor() + case "major": + version.BumpMajor() + } + } + } +} + +func bumpPreReleaseIndex(preReleaseStr semver.PreRelease) semver.PreRelease { + indexStr := strings.TrimPrefix(string(preReleaseStr), preReleasePrefix) + index, err := strconv.Atoi(indexStr) + if err != nil { + log.Fatalf("Could not parse prerelease: %s", preReleaseStr) + } + index++ + return semver.PreRelease(fmt.Sprintf("%s%d", preReleasePrefix, index)) +} + +func gitCommitAll(message string) { + if dryRun { + log.Printf("Skipping git commit with message '%s'", message) + } else { + args := []string{ + "commit", + "--all", + "-m", message, + } + if err := run("git", args...); err != nil { + log.Fatalf("Failed to commit: %v\n", err) + } + } +} + +func gitPush(tag string) { + if dryRun { + log.Printf("Skipping git push") + } else { + if err := run("git", "push", "-u", "origin", "HEAD"); err != nil { + log.Fatalf("Failed to push: %v\n", err) + } + if tag != "" { + if err := run("git", "push", "origin", tag); err != nil { + log.Fatalf("Failed to push tag: %v\n", err) + } + } + } +} + +func gitTag(tagName string) { + if dryRun { + log.Printf("Skipping git tag with name '%s'", tagName) + } else { + if err := run("git", "tag", tagName); err != nil { + log.Fatalf("Failed to tag: %v\n", err) + } + } +} + +func githubCreateDraftRelease(tagName string) { + if dryRun { + log.Printf("Skipping github release with tag name '%s'", tagName) + } else { + // Create draft release + args := []string{ + "release", + "--user", ghUser, + "--repo", ghRepo, + "--tag", tagName, + "--draft", + } + if preRelease { + args = append(args, "--pre-release") + } + if err := run(ghRelease, args...); err != nil { + log.Fatalf("Failed to create github release: %v\n", err) + } + // Ensure release created (sometimes there is a delay between creation request and it's availability for assets upload) + ensureReleaseCreated(tagName) + } +} + +func ghPublishDraftRelease(tagName string) { + if dryRun { + log.Printf("Skipping github release finalize with tag name '%s'", tagName) + return + } + args := []string{ + "edit", + "--user", ghUser, + "--repo", ghRepo, + "--tag", tagName, + } + if preRelease { + args = append(args, "--pre-release") + } + if err := run(ghRelease, args...); err != nil { + log.Fatalf("Failed to finalize github release: %v\n", err) + } + log.Printf("Release published to GitHub: https://github.com/%s/%s/releases/tag/%s", ghUser, ghRepo, tagName) + + log.Printf("Add changelog to release manually and publish it from GitHub") +} + +func ensureReleaseCreated(tagName string) { + const attemptsCount = 5 + var interval = time.Second + var err error + + for i := 1; i <= attemptsCount; i++ { + time.Sleep(interval) + interval *= 2 + + args := []string{ + "info", + "--user", ghUser, + "--repo", ghRepo, + "--tag", tagName, + } + err = run(ghRelease, args...) + if err == nil { + return + } + log.Printf("attempt #%d to get release info for tag %s failed. Retry in %s...", i, tagName, interval.String()) + } + + log.Fatalf("failed to get release info for tag %s", tagName) +} + +func run(cmd string, args ...string) error { + c := exec.Command(cmd, args...) + c.Stdout = os.Stdout + c.Stderr = os.Stderr + return c.Run() +} + +// getEnvVar returns the value of the environment variable with given key of the given default +// value of no such variable exist or is empty. +func getEnvVar(key, defaultValue string) string { + value := os.Getenv(key) + if value != "" { + return value + } + return defaultValue +} + +// getBoolEnvVar returns the bool value of the environment variable with given key of the given default +// value of no such variable exist or is empty. +func getBoolEnvVar(key string, defaultValue bool) bool { + value := getEnvVar(key, strconv.FormatBool(defaultValue)) + if b, err := strconv.ParseBool(value); err == nil { + return b + } + return defaultValue +} diff --git a/v2/connection/modifiers.go b/v2/connection/modifiers.go index facc9eda..9d9faee5 100644 --- a/v2/connection/modifiers.go +++ b/v2/connection/modifiers.go @@ -25,6 +25,8 @@ import ( "fmt" "strings" "time" + + "github.com/arangodb/go-driver/v2/version" ) func WithTransactionID(transactionID string) RequestModifier { @@ -53,7 +55,7 @@ func applyGlobalSettings(ctx context.Context) RequestModifier { return func(r Request) error { // Set version header - val := fmt.Sprintf("go-driver-v2/%s", DriverVersion) + val := fmt.Sprintf("go-driver-v2/%s", version.DriverVersion()) if ctx != nil { if v := ctx.Value(keyDriverFlags); v != nil { if flags, ok := v.([]string); ok { diff --git a/v2/connection/version-driver.go b/v2/connection/version-driver.go deleted file mode 100644 index 3ae604f5..00000000 --- a/v2/connection/version-driver.go +++ /dev/null @@ -1,5 +0,0 @@ -// Code generated by go generate; DO NOT EDIT. -package connection - -//go:generate bash ../scripts/update-version.sh -const DriverVersion = "1.6.0" diff --git a/v2/scripts/update-version.sh b/v2/scripts/update-version.sh deleted file mode 100755 index 8c271d83..00000000 --- a/v2/scripts/update-version.sh +++ /dev/null @@ -1,7 +0,0 @@ -cat << EOF > ../connection/version-driver.go -// Code generated by go generate; DO NOT EDIT. -package connection - -//go:generate bash ../scripts/update-version.sh -const DriverVersion = "$VERSION" -EOF diff --git a/v2/version/VERSION b/v2/version/VERSION new file mode 100644 index 00000000..f93ea0ca --- /dev/null +++ b/v2/version/VERSION @@ -0,0 +1 @@ +2.0.2 \ No newline at end of file diff --git a/v2/version/version-driver.go b/v2/version/version-driver.go new file mode 100644 index 00000000..5464b255 --- /dev/null +++ b/v2/version/version-driver.go @@ -0,0 +1,10 @@ +package version + +import _ "embed" + +//go:embed VERSION +var versionString string + +func DriverVersion() string { + return versionString +} diff --git a/version-driver.go b/version-driver.go index 286f4774..86138e3c 100644 --- a/version-driver.go +++ b/version-driver.go @@ -1,5 +1,10 @@ -// Code generated by go generate; DO NOT EDIT. package driver -//go:generate bash ./scripts/update-version.sh -const DriverVersion = "1.6.0" +import _ "embed" + +//go:embed VERSION +var versionString string + +func DriverVersion() string { + return versionString +} From 1e2f4815eb1b9eaea330773aa2a804ccb589d4d0 Mon Sep 17 00:00:00 2001 From: jwierzbo Date: Tue, 31 Oct 2023 08:51:53 +0100 Subject: [PATCH 2/3] GT-353 Fix linter errors --- v2/version/version-driver.go | 20 ++++++++++++++++++++ version-driver.go | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/v2/version/version-driver.go b/v2/version/version-driver.go index 5464b255..631d4dff 100644 --- a/v2/version/version-driver.go +++ b/v2/version/version-driver.go @@ -1,3 +1,23 @@ +// +// DISCLAIMER +// +// Copyright 2023 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + package version import _ "embed" diff --git a/version-driver.go b/version-driver.go index 86138e3c..fd6a9526 100644 --- a/version-driver.go +++ b/version-driver.go @@ -1,3 +1,23 @@ +// +// DISCLAIMER +// +// Copyright 2023 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + package driver import _ "embed" From cb5acd904804b911c30c165c7126a9604a0e97a2 Mon Sep 17 00:00:00 2001 From: jwierzbo Date: Tue, 31 Oct 2023 09:11:21 +0100 Subject: [PATCH 3/3] Remove prerelease --- MAINTAINERS.md | 1 - Makefile | 19 ------------------- 2 files changed, 20 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 54f34b5a..44ba3647 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -31,6 +31,5 @@ DEBUG=true TESTOPTIONS="-test.run TestResponseHeader -test.v" make run-tests-sin 1. Update CHANGELOG.md 2. Make sure that GitHub access token exist in `~/.arangodb/github-token` and has read/write access for this repo. 3. Run `make release-patch|minor|major` to create a release. - - If you want to create a pre-release, use `make prerelease-patch|minor|major`. - To release v2 version, use `make release-v2-patch|minor|major`. 4. Go To GitHub and fill the description with the content of CHANGELOG.md diff --git a/Makefile b/Makefile index 9beedf37..8c28ed65 100644 --- a/Makefile +++ b/Makefile @@ -574,15 +574,6 @@ release-minor: release-major: go run $(RELEASE) -type=major -github-release=$(GH_RELEASE) -prerelease-patch: - go run $(RELEASE) -type=patch -prerelease=true -github-release=$(GH_RELEASE) - -prerelease-minor: - go run $(RELEASE) -type=minor -prerelease -github-release=$(GH_RELEASE) - -prerelease-major: - go run $(RELEASE) -type=major -prerelease -github-release=$(GH_RELEASE) - release-v2-patch: go run $(RELEASE) -type=patch -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) @@ -591,13 +582,3 @@ release-v2-minor: release-v2-major: go run $(RELEASE) -type=major -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) - -prerelease-v2-patch: - go run $(RELEASE) -type=patch -prerelease=true -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) - -prerelease-v2-minor: - go run $(RELEASE) -type=minor -prerelease -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) - -prerelease-v2-major: - go run $(RELEASE) -type=major -prerelease -github-release=$(GH_RELEASE) -versionfile=$(V2_VERSION) -