{"id":13485103,"url":"https://github.com/goreleaser/goreleaser-action","last_synced_at":"2025-05-14T10:06:25.974Z","repository":{"id":35584964,"uuid":"209873006","full_name":"goreleaser/goreleaser-action","owner":"goreleaser","description":"GitHub Action for GoReleaser","archived":false,"fork":false,"pushed_at":"2025-03-30T21:00:03.000Z","size":8577,"stargazers_count":907,"open_issues_count":8,"forks_count":82,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-12T10:53:44.488Z","etag":null,"topics":["actions","github-actions","golang","goreleaser","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/goreleaser-action","language":"TypeScript","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/goreleaser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["caarlos0"],"open_collective":"goreleaser","custom":["https://goreleaser.com/pro"]}},"created_at":"2019-09-20T20:10:48.000Z","updated_at":"2025-05-06T02:07:35.000Z","dependencies_parsed_at":"2023-01-16T00:15:55.005Z","dependency_job_id":"9c114361-730c-4ebf-abd1-20d388dea242","html_url":"https://github.com/goreleaser/goreleaser-action","commit_stats":{"total_commits":440,"total_committers":21,"mean_commits":"20.952380952380953","dds":0.6477272727272727,"last_synced_commit":"f7623f3e7168fa800ac616fe8d03643abbc6edda"},"previous_names":["crazy-max/ghaction-goreleaser"],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goreleaser%2Fgoreleaser-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goreleaser%2Fgoreleaser-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goreleaser%2Fgoreleaser-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goreleaser%2Fgoreleaser-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goreleaser","download_url":"https://codeload.github.com/goreleaser/goreleaser-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253929359,"owners_count":21985802,"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":["actions","github-actions","golang","goreleaser","hacktoberfest"],"created_at":"2024-07-31T17:01:46.069Z","updated_at":"2025-05-14T10:06:25.925Z","avatar_url":"https://github.com/goreleaser.png","language":"TypeScript","funding_links":["https://github.com/sponsors/caarlos0","https://opencollective.com/goreleaser","https://goreleaser.com/pro"],"categories":["TypeScript","Community Resources"],"sub_categories":["Deployment"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GoReleaser Logo\" src=\"https://avatars2.githubusercontent.com/u/24697112?v=3\u0026s=200\" height=\"140\" /\u003e\n  \u003ch3 align=\"center\"\u003eGoReleaser Action\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/features/actions\"\u003eGitHub Action\u003c/a\u003e for GoReleaser\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/goreleaser/goreleaser-action/releases/latest\"\u003e\u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/goreleaser/goreleaser-action.svg?logo=github\u0026style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marketplace/actions/goreleaser-action\"\u003e\u003cimg alt=\"GitHub marketplace\" src=\"https://img.shields.io/badge/marketplace-goreleaser--action-blue?logo=github\u0026style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/goreleaser/goreleaser-action/actions?workflow=test\"\u003e\u003cimg alt=\"Test workflow\" src=\"https://img.shields.io/github/actions/workflow/status/goreleaser/goreleaser-action/test.yml?label=test\u0026branch=master\u0026logo=github\u0026style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/goreleaser/goreleaser-action\"\u003e\u003cimg alt=\"Codecov\" src=\"https://img.shields.io/codecov/c/github/goreleaser/goreleaser-action?logo=codecov\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n___\n\n![GoRelease Action](.github/goreleaser-action.png)\n\n* [Usage](#usage)\n  * [Workflow](#workflow)\n  * [Run on new tag](#run-on-new-tag)\n  * [Signing](#signing)\n  * [Upload artifacts](#upload-artifacts)\n  * [Install Only](#install-only)\n* [Customizing](#customizing)\n  * [inputs](#inputs)\n  * [outputs](#outputs)\n  * [environment variables](#environment-variables)\n* [Limitation](#limitation)\n* [Development](#development)\n* [License](#license)\n\n## Usage\n\nGoReleaser Action runs [goreleaser][], please follow its [docs][gdocs] for\nmore information about how to customize what GoReleaser does.\n\n[goreleaser]: https://goreleaser.com/\n[gdocs]: https://goreleaser.com/customization\n\n### Workflow\n\n```yaml\nname: goreleaser\n\non:\n  pull_request:\n  push:\n\npermissions:\n  contents: write\n\njobs:\n  goreleaser:\n    runs-on: ubuntu-latest\n    steps:\n      -\n        name: Checkout\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n      -\n        name: Set up Go\n        uses: actions/setup-go@v5\n      -\n        name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          # either 'goreleaser' (default) or 'goreleaser-pro'\n          distribution: goreleaser\n          # 'latest', 'nightly', or a semver\n          version: '~\u003e v2'\n          args: release --clean\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          # Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution\n          # GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}\n```\n\n\u003e **IMPORTANT**: note the `fetch-depth: 0` input in `Checkout` step. It is required  for the changelog to work correctly.\n\n### Run on new tag\n\nIf you want to run GoReleaser only on new tag, you can use this event:\n\n```yaml\non:\n  push:\n    tags:\n      - '*'\n```\n\nOr with a condition on GoReleaser step:\n\n```yaml\n      -\n        name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        if: startsWith(github.ref, 'refs/tags/')\n        with:\n          version: '~\u003e v2'\n          args: release --clean\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n\u003e For detailed instructions please follow GitHub Actions [workflow syntax](https://help.github.com/en/articles/workflow-syntax-for-github-actions#About-yaml-syntax-for-workflows).\n\n### Signing\n\nIf [signing is enabled](https://goreleaser.com/customization/#Signing) in your GoReleaser configuration, you can use\nthe [Import GPG](https://github.com/crazy-max/ghaction-import-gpg) GitHub Action along with this one:\n\n```yaml\n      -\n        name: Import GPG key\n        id: import_gpg\n        uses: crazy-max/ghaction-import-gpg@v6\n        with:\n          gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}\n          passphrase: ${{ secrets.PASSPHRASE }}\n      -\n        name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          version: '~\u003e v2'\n          args: release --clean\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}\n```\n\nAnd reference the fingerprint in your signing configuration using the `GPG_FINGERPRINT` environment variable:\n\n```yaml\nsigns:\n  - artifacts: checksum\n    args: [\"--batch\", \"-u\", \"{{ .Env.GPG_FINGERPRINT }}\", \"--output\", \"${signature}\", \"--detach-sign\", \"${artifact}\"]\n```\n\n### Upload artifacts\n\nFor some events like pull request or schedule you might want to store the artifacts somewhere for testing\npurposes. You can do that with the [actions/upload-artifact](https://github.com/actions/upload-artifact) action:\n\n```yaml\n      -\n        name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          version: '~\u003e v2'\n          args: release --clean\n          workdir: myfolder\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      -\n        name: Upload assets\n        uses: actions/upload-artifact@v4\n        with:\n          name: myapp\n          path: myfolder/dist/*\n```\n\n### Install Only\n\n```yaml\nsteps:\n  -\n    name: Install GoReleaser\n    uses: goreleaser/goreleaser-action@v6\n    with:\n      install-only: true\n  -\n    name: Show GoReleaser version\n    run: goreleaser -v\n```\n\n## Customizing\n\n### inputs\n\nFollowing inputs can be used as `step.with` keys\n\n| Name             | Type    | Default      | Description                                                      |\n|------------------|---------|--------------|------------------------------------------------------------------|\n| `distribution`   | String  | `goreleaser` | GoReleaser distribution, either `goreleaser` or `goreleaser-pro` |\n| `version`**¹**   | String  | `~\u003e v2`      | GoReleaser version                                               |\n| `args`           | String  |              | Arguments to pass to GoReleaser                                  |\n| `workdir`        | String  | `.`          | Working directory (below repository root)                        |\n| `install-only`   | Bool    | `false`      | Just install GoReleaser                                          |\n\n\u003e **¹** Can be a fixed version like `v0.117.0` or a max satisfying semver one like `~\u003e 0.132`. In this case this will return `v0.132.1`.\n\n### outputs\n\nFollowing outputs are available\n\n| Name        | Type | Description            |\n|-------------|------|------------------------|\n| `artifacts` | JSON | Build result artifacts |\n| `metadata`  | JSON | Build result metadata  |\n\n### environment variables\n\nFollowing environment variables can be used as `step.env` keys\n\n| Name             | Description                                                                                                                                         |\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| `GITHUB_TOKEN`   | [GITHUB_TOKEN](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token) as provided by `secrets` and requires `contents:write` |\n| `GORELEASER_KEY` | Your [GoReleaser Pro](https://goreleaser.com/pro) License Key, in case you are using the `goreleaser-pro` distribution                              |\n\n## Limitation\n\n`GITHUB_TOKEN` permissions [are limited to the repository](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#about-the-github_token-secret)\nthat contains your workflow.\n\nIf you need to push the homebrew tap to another repository, you must therefore create a custom [Personal Access Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)\nwith `repo` permissions and [add it as a secret in the repository](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets). If you create a\nsecret named `GH_PAT`, the step will look like this:\n\n```yaml\n      -\n        name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          version: '~\u003e v2'\n          args: release --clean\n        env:\n          GITHUB_TOKEN: ${{ secrets.GH_PAT }}\n```\n\n## Migrating from v3\n\nIf you need the auto-snapshot feature, take a look at [this example repository](https://github.com/caarlos0/goreleaser-action-v4-auto-snapshot-example): it's a minimal working example with all you need.\n\n## Development\n\n```\n# format code and build javascript artifacts\ndocker buildx bake pre-checkin\n\n# validate all code has correctly formatted and built\ndocker buildx bake validate\n\n# run tests\ndocker buildx bake test\n```\n\n## License\n\nMIT. See `LICENSE` for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoreleaser%2Fgoreleaser-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoreleaser%2Fgoreleaser-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoreleaser%2Fgoreleaser-action/lists"}