1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2024-12-31 01:53:50 +02:00
Commit Graph

35 Commits

Author SHA1 Message Date
Oleksandr Redko
8dad0d8229
docs: fix typos in comments (#5246) 2024-11-05 20:28:16 -03:00
Carlos Alexandro Becker
efd9edc51c
fix(gitlab): improve artifact upload retry (#5185)
this makes it more similar to github's implementation.

should fix #5177
2024-10-11 12:03:13 -03:00
Oleksandr Redko
c1f8b686db
test: add missing file.Close() calls (#5167)
This PR adds missing `file.Close()` calls in tests. All files that are
opened using `os.Open` should be closed after finishing reading.
2024-10-03 14:37:29 -03:00
Tom Payne
3a36a49984
chore: fix linter errors (#5111)
If applied, this commit will fix the current linter errors, which are
currently causing all Github Actions to fail.

See, for example, the latest `main` run:
https://github.com/goreleaser/goreleaser/actions/runs/10607661596/job/29400451251.
2024-08-30 17:03:10 -03:00
Carlos Alexandro Becker
9b6af9efba
fix: actually respect changelog.abbrev (#4942)
Some changelogers were always returning the short sha instead of the
full one, so setting an abbrev had no effect.

This fixes these changelogers, which should now always return the full
sha.

Note that github usually still shortens the SHAs rendered in markdown,
so the changes might not even be visible in most cases.

closes #4829
2024-06-15 15:40:08 -03:00
Carlos Alexandro Becker
50a6a96257
fix(gitlab): better handle CI_JOB_TOKEN and unavailable APIs (#4918)
refs #4900
2024-06-15 13:47:12 -03:00
Carlos Alexandro Becker
ec2db4a727
feat!: rename module to /v2 (#4894)
<!--

Hi, thanks for contributing!

Please make sure you read our CONTRIBUTING guide.

Also, add tests and the respective documentation changes as well.

-->


<!-- If applied, this commit will... -->

...

<!-- Why is this change being made? -->

...

<!-- # Provide links to any relevant tickets, URLs or other resources
-->

...

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-26 15:02:57 -03:00
Carlos Alexandro Becker
39bf6668bc
feat(changelog): custom commit format (#4802)
This allows to use templates for commit messages in the changelog when
using `github`, `gitea`, or `gitlab` as the changelog implementation.

closes #4800

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-04-24 09:08:20 -03:00
Matthias Baur
2c93bd7c7f
feat(gitlab): Allow PRs to be created (#4793)
**Depends on #4792**

This adds support for opening pull requests on brew, krew, nix, scoop
and winget changes with Gitlab.

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-04-23 22:49:18 -03:00
Matthias Baur
fd40f5d772
fix(gitlab): Use start_branch for file creation if branch doesn't exist already (#4792)
Creating files on a new branch is only possible with the API if
`start_branch`
is given otherwise the API returns:

> You can only create or edit files when you are on a branch

Fixes https://github.com/goreleaser/goreleaser/issues/4543

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-04-23 09:01:23 -03:00
Brad Reynolds
56c5a09f9a
feat: support projectID for gitlab CreateFile (brew, nix, etc) (#4705)
<!--

Hi, thanks for contributing!

Please make sure you read our CONTRIBUTING guide.

Also, add tests and the respective documentation changes as well.

-->
<!-- If applied, this commit will... -->

Allow for using a projectID for a gitlab homebrew tap destination. There
are still some issues here because I can't use our full project name but
one step at a time.

<!-- Why is this change being made? -->

According to the goreleaser [gitlab
doc](https://goreleaser.com/customization/release/#gitlab), gitlab's
project IDs are supported. Before this change that isn't true for
homebrew formulas.

<!-- # Provide links to any relevant tickets, URLs or other resources
-->
Some conversation here:
https://github.com/goreleaser/goreleaser/issues/4664#issuecomment-1986056251.

Co-authored-by: Brad Reynolds <brad@shipium.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-03-17 15:26:04 -03:00
Carlos Alexandro Becker
a3a15fb18b
test: improve test func names for clients
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-07-14 01:42:00 +00:00
Ville Skyttä
ef690d07ef
style: spelling and grammar fixes (#4069)
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-05 13:08:57 -03:00
Carlos Alexandro Becker
8b1c4ead60
feat: allow to PR homebrew taps (#3903)
closes #3485

also fixed a bug in file creation for github: it was always searching
for the file in the default branch

also, we don't need to create the file first, update does both create
and update.

TODO: implement the for krew, scoop, etc...

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-06 22:58:06 -03:00
Carlos A Becker
98eb6a2e98
test: fix gitlab test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-20 09:29:14 -03:00
Carlos Alexandro Becker
f544c5ce69
test: testctx pkg (#3807)
alternative to #3806 

the idea is that both `context.New` and `context.Context{}` are never
used in tests.

not sure yet how much I like it, so far code does look a bit more
readable though.

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-02 00:01:11 -03:00
Christoph Witzko
90d8324971
fix(gitlab): correctly prepend/append/keep releases notes (#3765)
Hi, I found a bug in the GitLab client that leads to not correctly
prepend/append/keep releases notes.

This will use the original `Description` instead of the pre-rendered
`DescriptionHTML`. Furthermore, as `include_html_description` is not
enabled, the `DescriptionHTML` field is always empty.

[GitLab
documentation](https://docs.gitlab.com/ee/api/releases/index.html#get-a-release-by-a-tag-name)
2023-02-07 11:19:19 -03:00
Carlos A Becker
11447a8990
test: fix 2022-10-01 00:05:11 -03:00
Carlos A Becker
cf06b08983
test: improve gitlab tests 2022-09-30 20:21:11 -03:00
Drew Stinnett
3cad812f73
fix: handle mixing of gitlab job and normal tokens (#3415)
If applied, this commit will allow for new GitLab clients to use both ci
job tokens and plain tokens (for things like brew publishing where the
CI_JOB_TOKEN isn't applicable)

This provides a fix for #3399

---

closes #3399

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-09-28 21:58:15 -03:00
Carlos Alexandro Becker
57ef9f0220
refactor: improve gitlab cli a bit (#2810)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-10 10:58:05 -03:00
Drew Stinnett
d4e575dd47
test: additional tests for gitlab and others (#2599)
* More checks

* test: Adding more tests around gitlab

* chore: removing log
2021-10-25 10:29:19 -03:00
Drew Stinnett
03b6805715
feat: Adding gitlab api changelog (#2567)
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2021-10-10 10:52:46 -03:00
Carlos A Becker
18ca16d547
test: gitlab download url template
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-05 22:06:20 -03:00
Carlos Alexandro Becker
89e5a4ebf1
feat: changelog from github (#2548)
* feat: changelog from github

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* refactor: unifying client mocks

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* refactor: unifying client mocks

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: mocks

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: added tests

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: remove unused code

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: added more

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: testdata

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: fmt

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* docs: improve docs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-04 09:32:30 -03:00
Drew Stinnett
e0315ff4c4
feat: allow default branch to be used in CreateFile (#2539)
* feat: allow default branch to be used in gitlab

* feat: add func to get default branch

* fix: matching branch args

* feat: branch customization

* fix: fixing dummyclient naming

* refactor: remove createbranch

* feat: Adding gitlab branch customization

* feat: testing for github and gitea defaultbranch

* fix: remove dummy debug message

* fix: removing note about gitea not being supported

* feat: allow default branch to be used in gitlab

* docs: links updat

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* chore: delete kodiak.yml

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: add func to get default branch

* fix: matching branch args

* feat: branch customization

* fix: docs: Missing mattermost docs on website (#2543)

* docs: update CircleCI example (#2545)

* fix: fixing dummyclient naming

* docs: some little fixes on the webpage (#2547)

* feat: some little fixes on the webpage

Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>

* Update www/docs/overrides/home.html

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* refactor: remove unused not impl error (#2540)

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: add template support for homebrew tap owner (#2544)

* feat: add template support for homebrew tap name

refs #2544

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: remove createbranch

* feat: Adding gitlab branch customization

* feat: testing for github and gitea defaultbranch

* fix: remove dummy debug message

* fix: removing note about gitea not being supported

Co-authored-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Engin Diri <engin.diri@mail.schwarz>
Co-authored-by: Ricardo N Feliciano <FelicianoTech@gmail.com>
Co-authored-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Erik Weber <terbolous@gmail.com>
2021-10-03 11:22:26 -03:00
Steve Azzopardi
b0a6bf4705
fix: panic on gitlab create release (#2473)
Background
---
In 5bcfa9042d the condition was changed to
that it can support the new status code returned by GitLab. However, the
condition is now checked `resp != nil` and not `resp == nil` which causes
the condition not to trigger when the resp is nil and only returns an
error. We can reproduce this issue by running
`TestGitLabCreateReleaseUknownHost` test added in this commit.

Solution
---
If we look at other error handling
91a8abb2e6/internal/client/gitlab.go (L106)
we can see that we check if the `resp` is nil as well before continuing.

Added tests for the following use cases:
- When there is an error and no response was returned.
- When there is a 403 or 404 error so we expect to create a release
  first.
- When there is an unknown error (not 404, 403) we just bail.
2021-09-10 16:35:42 -03:00
Steve Azzopardi
68ff8e996f
feat: support templates for scm urls (#2465)
Background
---
When a git repository is hosted in multiple GitLab instances the
`.goreleaser.yml` needs to take in consideration both APIs endpoints. At
the moment it defaults to GitLab.com and you can override it with
`gitlab_urls` however this forces you to only support 1 GitLab instance.

We need this for
https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/14122
where we have a tool that is developed on GitLab.com but then mirrored
to an internal GitLab instance since we need it to operate GitLab.com
even when it's down.

Solution
---
Support templates like `{{ .Env.CI_SERVER_URL }}` for the
`gitlab_urls`, `github_urls`  and `gitea_urls` so it can use environment
variables and the same `.goreleaser` file can be used in multiple SCM
instances.

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2021-09-09 01:42:13 +00:00
Carlos Alexandro Becker
2e376ef378
chore(lint): enable revive
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-05-25 16:49:49 -03:00
Matt Palmer
bf4359017b
feat: Use GitLab Direct Asset Links (#2219)
* feat: Use GitLab Direct Asset Links

Implement the use of Direct Asset Links when uploading artifacts to a GitLab release

* fix: Remove ArtifactUploadHash

As GitLab support for direct asset linking exists, remove ArtifactUploadHash due to it no longer being required

* test: fix unit tests for gitlab urls

* fix: Use artifact name during GitLab upload

file.Name() included the path to the file, which isn't needed and breaks other areas such as homebrew releases

* docs: Require GitLab version v12.9+

Due to newly introduced dependency on direct asset linking
2021-05-17 17:33:04 +00:00
Carlos Alexandro Becker
860b4a8f81
chore: gofumpt & lint (#2190)
Signed-off-by: Carlos Becker <caarlos0@gmail.com>
2021-04-25 14:20:49 -03:00
Carlos Alexandro Becker
979f8632b7
refactor: use require on all tests (#1839)
* refactor: use require on all tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: use require on all tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-10-06 12:48:04 +00:00
Radek Simko
ab8bb7f2f3
feat: support custom tokens in Homebrew & Scoop (#1650) 2020-07-06 17:12:41 -03:00
Radek Simko
998e377627
refactor: align Homebrew repo handling with Scoop (#1649) 2020-07-06 10:48:17 -03:00
Manuel Vogel
e92bbe32ce feat: full gitlab support for brew and scoop (#1084)
* makes context tokentype a public var

* passes artifacts object into client upload function. extracts gitlab upload hash from url

* adds gitlab url to brew config

* build brew formula depending on token type

* fixes client for release tests

* fixes exiting brew tests

* fixes scoop test with dummy client adaption

* uses new artifact upload hash

* fixes brew usage

* updates gitlab createFile for brew

* fixes logging for non-existing file in gitlab logging

* fix: gitlab createFile

* fix: removes encoding from gitlab create and update file opts

* fix: gitlab upload and artifact set upload hash

* fix: linter

* changed artifact item to a pointer in ctx

* docs: updates homebrew

* feat: enables scoop for gitlab release

* fix: scoop panic for pointer access

* chore: rename formula build func for brew

* chore: brew removes comments

* fix: brew tests

* test: updates brew tests

* docs: updates homebrew

* test: for token type not implemented for brew

* tests: for multiple linux builds

* fix: build artifacts are pointer in scoop

* test: for scoop and gitlab

* test: for artifacts set upload hash

* adds missing files after adaption

* chore: removes and clarifies comments

* fix: moves artifact upload hash to extra map

* adds comment why we initialize the extra map
2019-08-13 15:28:03 -03:00