Commit Graph
69 Commits
Author SHA1 Message Date
fa7c11c5a3 feat: cache the goreleaser binary
Look for GoReleaser in the runner tool cache before a download. This
makes a second use of the action in the same job, or any job on a
self-hosted runner, install immediately.

Add an opt-in `cache-binary` input that also stores the binary in the
GitHub Actions cache. When it hits, the action does not download the
release archive, the checksums and the signature bundle again. Cache
errors are not fatal and fall back to a download.

The runner tool cache entry is now keyed by distribution, so a Pro
binary is no longer returned for an OSS install of the same version.

Closes #476

Co-authored-by: timbretimber <105982513+timbretimber@users.noreply.github.com>
Co-authored-by: Akkuman <akkumans@qq.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2026-08-29 15:19:02 -03:00
4c6ab561ad feat: resolve nightly to latest vX.Y.Z-<sha>-nightly release (#558)
* feat: resolve nightly to latest vX.Y.Z-<sha>-nightly release

Query GitHub releases API to resolve the 'nightly' version input to the
latest immutable nightly tag, replacing the moving 'nightly' tag that is
being removed for supply-chain hardening.

Refs goreleaser/goreleaser#6550

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: keep legacy 'nightly' tag working during transition

Fall back to the moving 'nightly' tag when no immutable
vX.Y.Z-<sha>-nightly release is found, so the action keeps working
between this release and the goreleaser nightly switchover.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: assert isNightlyTag accepts legacy fallback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: accept nightly tags without 'v' prefix

goreleaser-pro publishes nightly releases as e.g. 2.16.0-eaeb08c50-nightly
(no 'v' prefix). Make the nightly tag regex tolerate either form, and
split the integration tests so OSS asserts the legacy fallback while
Pro asserts the new <version>-<sha>-nightly format.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Revert "fix: accept nightly tags without 'v' prefix"

The missing 'v' prefix on the goreleaser-pro nightly was a release
mistake; new nightlies will keep the 'v' prefix.

This reverts commit 7673f7f.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* ci: pass GITHUB_TOKEN to tests

The new nightly resolution hits api.github.com/repos/.../releases,
which is rate-limited for unauthenticated requests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: note GITHUB_TOKEN need for nightly resolution

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 16:39:25 -03:00
4f96abf297 feat: add version-file input (#556)
Resolves the GoReleaser version from a file. Currently supports the
asdf/mise `.tool-versions` format; resolved value takes precedence
over the `version` input.

  # .tool-versions
  goreleaser 2.13.0

  - uses: goreleaser/goreleaser-action@v7
    with:
      version-file: .tool-versions
      args: release --clean

Path is resolved relative to `workdir` unless absolute. Bare semvers
are auto-prefixed with `v`; constraint expressions and `latest` are
returned as-is. Multiple fallback versions per asdf convention are
accepted but only the first is used.

Refs #541
Closes #542

Co-authored-by: Anthony Couvreur <22034450+acouvreur@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 23:05:24 -03:00
e24998b8b6 ci: drop pre-cosign-v3 goreleaser versions from tests (#554)
GoReleaser v2.13.0 was the first release to ship the cosign v3
sigstore-bundle 'checksums.txt.sigstore.json' alongside the archive.
Earlier releases only publish a cosign v2 detached '.sig', which the
action's verifier does not understand and silently skips.

Drop '~> 1.26' / '~> 2.6' / 'v0.182.0' / '~> v1' from the matrix and
the install tests; pin '~> 2.13' as the minimum-supported version we
actively exercise in CI. Document v2.13.0 as the minimum cosign-
verifiable version in the README.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-18 15:39:15 -03:00
be2e8a39ba docs: document cosign verification in README (#553)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-18 15:24:42 -03:00
4068afa2f0 build: drop docker-bake in favor of plain npm (#551)
* build: drop docker-bake in favor of plain npm

Every TypeScript action maintained by actions/* (checkout, setup-node,
setup-go, cache, upload-artifact) uses plain npm scripts. The bake
setup is a docker/* org convention and adds friction for TS work:
contributors need Docker, the dev loop is ~10x slower than npm, and
Alpine-vs-host byte drift in dist/index.js makes PRs bounce.

Replace with the standard pattern:
- .node-version pins Node 24 so contributors and CI agree
- npm scripts (build, lint, format, test, pre-checkin) replace bake
  targets one-for-one
- validate.yml runs lint + a check-dist diff (mirrors actions/setup-node)
  and a vendor check that npm install --package-lock-only is a no-op
- test.yml uses setup-node + sigstore/cosign-installer, drops bake-action
- dependabot-build.yml regenerates dist via npm instead of bake

CONTRIBUTING.md and README development section updated to match.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: align scripts and workflows with actions/* convention

Match the standard layout used by actions/checkout, actions/setup-node,
etc.:

- package.json scripts: split format/format-check (Prettier) from
  lint/lint:fix (ESLint), and have pre-checkin run all four (format,
  lint:fix, build, test) in that order.
- validate.yml lint job runs format-check + lint as separate steps.
- test.yml drops the redundant --coverage flag (now in the test script).
- Drop dependabot-build.yml: actions/* don't auto-rebuild dist on
  dependabot PRs; the check-dist style validate / build job catches
  drift and a maintainer rebuilds locally if needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-18 15:22:23 -03:00
Carlos Alexandro BeckerandCopilot 213ec80f56 docs: add CONTRIBUTING with pre-commit workflow
Document the docker buildx bake pre-checkin / test / validate sequence
contributors need before pushing, and call out the Alpine-built dist/
gotcha so PRs don't bounce on build-validate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-18 14:36:59 -03:00
TimoandGitHub 01cbe076be docs: Upgrade import GPG action version (#547) 2026-04-05 12:19:35 +00:00
Carlos Alexandro BeckerandGitHub ff4cb9c029 docs: update 2026-02-22 00:08:30 -03:00
Kévin DunglasandGitHub a08664b80c docs: upgrade checkout GitHub Action in README.md (#507) 2025-08-25 15:09:53 -03:00
Kévin DunglasandGitHub cf63508052 docs: bump upload-artifact version (#479) 2024-11-06 22:55:19 -03:00
Carlos Alexandro BeckerandGitHub 18bbabc70c feat!: use "~> v2" as default (#463)
* feat!: use "~> v2" as default

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: more changes

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* gen

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* docs: update

* docs: update

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-06-04 21:50:33 -03:00
Carlos Alexandro BeckerandGitHub f1dbd532c3 feat: lock this major version of the action to use '~> v1' as 'latest' (#461)
* feat: warn about using 'latest'

* feat: use "~> v1" as latest

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* feat: default to "~> v1" instead of "latest"

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-10 13:30:10 -03:00
Carlos Alexandro Becker 9937f9bad9 Revert "docs: Upgrade setup-go action version in README (#455)"
This reverts commit b7f6f16d51.
2024-04-07 19:50:19 -03:00
Kishan BandGitHub b7f6f16d51 docs: Upgrade setup-go action version in README (#455) 2024-04-07 19:46:59 -03:00
Carlos Alexandro BeckerandGitHub c21f56a7bc docs: update readme
closes #453
2024-03-25 09:57:32 -03:00
7d864bed1f docs: bump actions to latest major (#435)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-11 20:23:37 +02:00
K.B.Dharun KrishnaandGitHub 81d9ad7185 feat: bump to use node20 runtime, actions/checkout to v4 (#430) 2023-09-05 09:10:35 -03:00
Kishan BandGitHub cffc4af7bf docs: bump setup-go action version to v4 in README (#411) 2023-05-03 09:52:13 -03:00
Carlos Alexandro Becker d756366df6 docs: add a note about goreleaser configs 2023-04-20 17:10:36 +00:00
Jamie TannaandGitHub 1d44853e58 docs: add more details about GITHUB_TOKEN (#399)
As it can simplify folks' setup for their workflows.
2023-02-22 14:05:41 -03:00
ArnaudandGitHub 8f389eacd3 docs: use --clean in examples (#393)
* fix: update obsolete --rm-dir to --clean

* fix: restore IDE unexpected replacements

* fix: extra newline removed

Sorry, lot of "minor" commit to limit the global changes... My IDE is not setup as yours, I tried to tricked it.
2023-02-05 13:45:40 -03:00
f82d6c1c34 fix: don't depend on the GitHub API to check release (#391)
* fix: don't depend on the GitHub API to check release

* chore: update generated content

---------

Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 14:11:41 +01:00
9754a253a8 fix: use @action/github (#390)
* fix: use @action/github

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* Update README.md

Co-authored-by: CrazyMax <github@crazymax.dev>

* Update action.yml

Co-authored-by: CrazyMax <github@crazymax.dev>

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
Co-authored-by: CrazyMax <github@crazymax.dev>
2023-01-27 23:22:07 -03:00
Carlos Alexandro BeckerandGitHub 256e4b8b28 docs: migrating from v3 2023-01-01 23:42:09 -03:00
Engin DiriandGitHub a7c543ca7a docs: fix README badgea (#386) 2022-12-20 16:09:05 -03:00
Victor NogueiraandGitHub 13f1e21a50 docs: update Readme to reference goreleaser/goreleaser-action@v4 (#384) 2022-12-13 14:26:28 -03:00
Wen ZhouandGitHub 5dc579bb76 docs: add example when using workdir along with upload-artifact (#366)
when using workdir, goreleaser creates dist folder inside of workdir, but upload-artifact action's path only matching from git_root dir
2022-12-13 10:19:24 -03:00
7bb9301b2c chore(deps): bump ghaction-import-gpg to v5 (#359)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-05-27 09:41:30 -03:00
7e270cc4b5 docs: bump actions to latest major (#356)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-22 02:09:27 +02:00
c127c9be61 feat: add artifacts and metadata outputs (#327)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-27 20:01:51 +01:00
affd781166 chore: update community files (#328)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-27 18:55:49 +01:00
25383ef1e0 chore(deps): bump ghaction-import-gpg to v4 (#302)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-09-06 22:45:41 +02:00
Carlos Alexandro BeckerandGitHub 70eb4e573c feat: support downloading goreleaser pro (#284) 2021-05-27 00:25:31 -03:00
50de962f84 Upload artifact example (#257)
* docs: Upload artifact example (#254)

* Fix README

* Typo

Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-29 23:57:19 +00:00
a61bc075fd feat: Container based developer flow (#258)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-22 22:34:12 +00:00
f2a4c95ec7 feat: Add install-only option for using goreleaser in user scripts (#252)
Co-authored-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2020-11-06 20:21:22 +00:00
2fc4e3ac51 chore(deps): Import GPG action v3 (#243)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-09-07 13:40:41 +00:00
CrazyMax aff4fc5a2c Add note about fetch-depth 2020-06-15 18:41:56 +02:00
CrazyMax c30b077d74 Remove missing unshallow steps 2020-06-15 18:36:44 +02:00
CrazyMax 3b7a8e97ab Update doc (#213) 2020-06-15 18:35:23 +02:00
CrazyMax 10511362f8 Remove unshallow step (goreleaser/goreleaser#1608) 2020-06-15 18:34:01 +02:00
CrazyMax aa1fbb5b7f Bump import-gpg action 2020-05-17 23:30:07 +02:00
92b29cc8ff Use template in sign.args (#190)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-05-10 18:42:15 +02:00
CrazyMax 0c93efcb3b Set v2 2020-05-10 16:22:33 +02:00
CrazyMax 65ffe9d1d5 Go 1.14 2020-05-10 16:15:33 +02:00
CrazyMax 145323343f Env var template in signing configuration does not seems to work 2020-05-10 16:12:19 +02:00
CrazyMax f3c3945401 Remove key input and use Import GPG GitHub Action instead 2020-05-10 16:02:05 +02:00
CrazyMax 5835168d00 Add Codecov 2020-05-07 11:47:49 +02:00
CrazyMax 4cd8fafb4f Add notes about limitation with GITHUB_TOKEN (#58) 2020-05-07 02:42:55 +02:00