{"id":19900619,"url":"https://github.com/gobuffalo/release","last_synced_at":"2025-05-02T23:31:03.419Z","repository":{"id":52834381,"uuid":"147375273","full_name":"gobuffalo/release","owner":"gobuffalo","description":"Buffalo ecosystem release tool","archived":false,"fork":false,"pushed_at":"2021-04-17T07:49:33.000Z","size":498,"stargazers_count":8,"open_issues_count":3,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-07T08:18:12.955Z","etag":null,"topics":["golang","release-tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gobuffalo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-04T16:24:50.000Z","updated_at":"2023-03-01T11:19:44.000Z","dependencies_parsed_at":"2022-08-22T15:00:25.221Z","dependency_job_id":null,"html_url":"https://github.com/gobuffalo/release","commit_stats":null,"previous_names":[],"tags_count":97,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobuffalo%2Frelease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobuffalo%2Frelease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobuffalo%2Frelease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobuffalo%2Frelease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gobuffalo","download_url":"https://codeload.github.com/gobuffalo/release/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252122211,"owners_count":21698305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","release-tool"],"created_at":"2024-11-12T20:12:46.221Z","updated_at":"2025-05-02T23:31:03.061Z","avatar_url":"https://github.com/gobuffalo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/gobuffalo/buffalo/blob/master/logo.svg\" width=\"360\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://godoc.org/github.com/gobuffalo/release\"\u003e\u003cimg src=\"https://godoc.org/github.com/gobuffalo/release?status.svg\" alt=\"GoDoc\" /\u003e\u003c/a\u003e\n\u003ca href=\"\"\u003e\u003cimg src=\"https://github.com/gobuffalo/release/workflows/Tests/badge.svg\" alt=\"Build Status\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://goreportcard.com/report/github.com/gobuffalo/release\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/gobuffalo/release\" alt=\"Go Report Card\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# github.com/gobuffalo/release\n\nThis tool is/will be used to release new tools from the Buffalo eco-system. (Although it should work for everyone.)\n\n---\n\n## Installation\n\n```bash\n$ go get -u -v github.com/gobuffalo/release\n```\n\n## Setting up Your Project\n\nRelease is designed to work with any Go project using GitHub.com as it's VCS (Pull Requests welcome), so there isn't any setup needed.\n\nShould you want to make your \"releasing\" experience a little easier, then the `release init` command is for you.\n\n```bash\n$ release init -h\n\nsetups a project to use release\n\nUsage:\n  release init [flags]\n\nFlags:\n  -d, --dry-run               runs the generator dry\n  -f, --force                 force files to overwrite existing ones\n  -h, --help                  help for init\n  -m, --main-file string      adds a .goreleaser.yml file (only for binary applications)\n  -v, --version-file string   path to a version file to maintain (default \"version.go\")\n```\n\n### Flags\n\n#### `-m` - (Binary Applications Only)\n\nIf you pass `-m path/to/main.go` then Release will generate a [`.goreleaser.yml`](https://goreleaser.com) file for you.\n\n#### `-v` - Version File\n\nRelease will automatically manage a \"version\" file for you. If you have an existing version file the `-v` allows Release to automatically update that file for you when you run the `make release` task.\n\nIf don't pass a `-v` flag then Release will create a new file for you, `./version.go`.\n\n```go\npackage mypackage\n\nconst Version = \"v1.0.0\"\n```\n\n---\n\n## Releasing\n\nThe basics of what this command does are the following:\n\n* Confirm semver version and branch\n* (write version file)\n* Generate shoulders.md file\n* Run `packr2` to pack any boxes\n* (make install)\n* (make release-test)\n* (commit version bump)\n* tag release\n* (run goreleaser)\n\nThe items inside of `()` are only run if needed for that project.\n\n```bash\n$ release -h\n\nUsage:\n  release [flags]\n  release [command]\n\nAvailable Commands:\n  doctor      checks to make sure your system is ready to release\n  help        Help about any command\n  init        setups a project to use release\n  version     current version of release\n\nFlags:\n  -b, --branch string         branch you want to use (default is current branch) (default \"master\")\n  -d, --dry-run               runs the release without actually releasing\n  -h, --help                  help for release\n  -v, --version string        version you want to release\n  -f, --version-file string   write the version back into your version file (default \"version.go\")\n  -y, --yes                   yes to all prompts\n\nUse \"release [command] --help\" for more information about a command.\n```\n\n### Flags\n\n#### `-v` - Version Flag\n\nIf a `-v v1.0.0` flag is passed then the version from that flag will be used. If no `-v` flag is used, then a prompt will be presented to the user, displaying up to the last file release tags (for context), and the user can enter a tag at the prompt.\n\n```bash\n$ release\n\nv2.0.11\nv2.0.10\nv2.0.9\nv2.0.8\nv2.0.7\nEnter version number (vx.x.x):\n```\n\n#### `-f` - Version File\n\nRelease will automatically manage a \"version\" file for you. If you have an existing version file the `-f` allows Release to automatically update that file for you when releasing.\n\nIf don't pass a `-f` flag then Release will create a new file for you, `./version.go`.\n\n```go\npackage mypackage\n\nconst Version = \"v1.0.0\"\n```\n\n---\n\n## Doctor\n\nThe Doctor is in! Run this inside of the project you want to release **before** releasing it! It will save you time later on by making sure your system is ready release this particular project.\n\n```bash\n$ release doctor\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgobuffalo%2Frelease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgobuffalo%2Frelease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgobuffalo%2Frelease/lists"}