Maybe 3rd time is the charm! This makes the CI build run on windows too, and fix broken tests/featuers on Windows. Most of the changes are related to ignoring certain tests on windows, or making sure to use the right path separators. More work to do in the future, probably! #4293 --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2.4 KiB
Contributing
By participating in this project, you agree to abide our code of conduct.
Set up your machine
goreleaser
is written in Go.
That said, we have two different ways of running the tests, regular, and with Dagger.
Regular
Prerequisites:
Other things you might need to run some of the tests (they should get automatically skipped if a needed tool isn't present):
Dagger
Prerequisites:
Building
Clone goreleaser
anywhere:
git clone git@github.com:goreleaser/goreleaser.git
cd
into the directory and install the dependencies:
go mod tidy
You should then be able to build the binary:
go build -o goreleaser .
./goreleaser --version
Testing your changes
You can create a branch for your changes and try to build from the source as you go:
task build
When you are satisfied with the changes, we suggest you run:
task ci
Before you commit the changes, we also suggest you run:
task fmt
You can also test it with Dagger:
dagger call test
A note about Docker multi-arch builds
If you want to properly run the Docker tests, or run goreleaser release --snapshot
locally, you might need to setup Docker for it.
You can do so by running:
task docker:setup
A note about Windows
Make sure to enable "Developer Mode" in Settings.
Creating a commit
Commit messages should be well formatted, and to make that "standardized", we are using Conventional Commits.
You can follow the documentation on their website.
Submitting a pull request
Push your branch to your goreleaser
fork and open a pull request against the main branch.
Financial contributions
You can contribute in our OpenCollective or to any of the contributors directly. See this page for more details.