GitLab provider for Wharf
![Codacy Badge](https://app.codacy.com/project/badge/Grade/f98199c0df84419db38c753750de3a79)
Import Wharf projects from GitLab repositories. Mainly focused on
importing from self hosted GitLab CE instances, importing from
gitlab.com is not well tested.
Components
Configuring
The wharf-provider-gitlab program can be configured via environment variables
and through optional config files. See the docs on the Config
type over at:
https://pkg.go.dev/github.com/iver-wharf/wharf-provider-gitlab#Config
Development
-
Install Go 1.16 or later: https://golang.org/
-
Install dependencies using GNU Make or
GNUWin32
$ make deps
-
Generate the Swagger files (this has to be redone each time the swaggo
documentation comments has been altered):
$ make swag
-
Start hacking with your favorite tool. For example VS Code, GoLand,
Vim, Emacs, or whatnot.
Releasing
Replace the "v2.0.0" in make docker version=v2.0.0
with the new version. Full
documentation can be found at Releasing a new version.
Below are just how to create the Docker images using GNU Make
or GNUWin32:
$ make docker version=v2.0.0
STEP 1: FROM golang:1.16.5 AS build
STEP 2: WORKDIR /src
--> Using cache de3476fd68836750f453d9d4e7b592549fa924c14e68c9b80069881de8aacc9b
--> de3476fd688
STEP 3: ENV GO111MODULE=on
--> Using cache 4f47a95d0642dcaf5525ee1f19113f97911b1254889c5f2ce29eb6f034bd550b
--> 4f47a95d064
STEP 4: RUN go get -u github.com/swaggo/swag/cmd/swag@v1.7.0
...
Push the image by running:
docker push quay.io/iver-wharf/wharf-provider-gitlab:latest
docker push quay.io/iver-wharf/wharf-provider-gitlab:v2.0.0
Linting Golang
go get -u github.com/mgechev/revive
npm run lint-go
Linting markdown
npm install
npm run lint-md
# Some errors can be fixed automatically. Keep in mind that this updates the
# files in place.
npm run lint-md-fix
Linting
You can lint all of the above at the same time by running:
npm run lint
# Some errors can be fixed automatically. Keep in mind that this updates the
# files in place.
npm run lint-fix
Maintained by Iver.
Licensed under the MIT license.