To contribute you need
- goreleaser: This is the tool we use to build and release staticreg, used by GNU Make to compile the project
- Go >= 1.22.2: The Go compiler, used by goreleaser to build binaries
- GNU Make: we use make to hide the details of running multiple commands to get builds done
- Optional: Docker: to build container images and for running the local development dependencies
Start a local Registry and push an image to it
docker run -d -p 5000:5000 --name registry registry
docker pull alpine
docker tag alpine:latest localhost:5000/alpine:latest
docker push localhost:5000/alpine:latest
Build staticreg
make deps
make
Start staticreg
./_output/dist/staticreg serve
make clean
make
Releasing is done via GitHub actions.
To release you need to:
- Bump version in the
VERSION
file (this needs to be a semver numbers) - Commit the version file
- Start the release process
Bump version file
git checkout master
echo "<new version>" > VERSION
Commit the version file
git commit -am "release: v$(cat VERSION)"
git push
Start the release process
make release