uses goreleaser
This commit is contained in:
parent
9efb1042e3
commit
0282d78cd3
62
.drone.yml
62
.drone.yml
@ -4,52 +4,56 @@ name: default
|
||||
type: docker
|
||||
|
||||
steps:
|
||||
|
||||
- name: fetch
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git fetch --tags
|
||||
|
||||
- name: lint
|
||||
image: golangci/golangci-lint:v1.24-alpine
|
||||
image: golangci/golangci-lint:v1.31.0-alpine
|
||||
commands:
|
||||
- apk add --no-cache make
|
||||
- make lint
|
||||
|
||||
- name: test
|
||||
image: golang:1.14
|
||||
image: golang
|
||||
pull: always
|
||||
commands:
|
||||
- make test
|
||||
|
||||
- name: build
|
||||
image: golang:1.14
|
||||
image: goreleaser/goreleaser
|
||||
commands:
|
||||
- (cd /go; go get -v github.com/mitchellh/gox)
|
||||
- (cd /go; go get -v github.com/vektra/mockery/.../)
|
||||
- make build
|
||||
depends_on:
|
||||
- test
|
||||
- lint
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
repo: quay.io/xsteadfastx/jitsiexporter
|
||||
registry: quay.io
|
||||
auto_tag: true
|
||||
username:
|
||||
from_secret: username
|
||||
password:
|
||||
from_secret: password
|
||||
|
||||
- name: publish to github
|
||||
image: plugins/github-release
|
||||
settings:
|
||||
api_key:
|
||||
from_secret: github_token
|
||||
files:
|
||||
- jitsiexporter_darwin_*
|
||||
- jitsiexporter_freebsd_*
|
||||
- jitsiexporter_linux_*
|
||||
- jitsiexporter_netbsd_*
|
||||
- jitsiexporter_openbsd_*
|
||||
- jitsiexporter_windows_*
|
||||
- name: release
|
||||
image: golang
|
||||
environment:
|
||||
GITEA_TOKEN:
|
||||
from_secret: gitea_token
|
||||
commands:
|
||||
- curl -sL https://git.io/goreleaser | bash
|
||||
depends_on:
|
||||
- test
|
||||
- lint
|
||||
when:
|
||||
event: tag
|
||||
# - name: docker
|
||||
# image: plugins/docker
|
||||
# settings:
|
||||
# repo: quay.io/xsteadfastx/jitsiexporter
|
||||
# registry: quay.io
|
||||
# auto_tag: true
|
||||
# username:
|
||||
# from_secret: username
|
||||
# password:
|
||||
# from_secret: password
|
||||
# when:
|
||||
# event: tag
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,6 +1 @@
|
||||
jitsiexporter_darwin_*
|
||||
jitsiexporter_freebsd_*
|
||||
jitsiexporter_linux_*
|
||||
jitsiexporter_netbsd_*
|
||||
jitsiexporter_openbsd_*
|
||||
jitsiexporter_windows_*
|
||||
dist/*
|
||||
|
60
.goreleaser.yml
Normal file
60
.goreleaser.yml
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
gitea_urls:
|
||||
api: https://git.xsfx.dev/api/v1/
|
||||
|
||||
builds:
|
||||
- env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- windows
|
||||
- darwin
|
||||
ldflags:
|
||||
- >
|
||||
-s -w
|
||||
-extldflags "-static"
|
||||
-X git.xsfx.dev/prometheus/jitsiexporter/cmd/main.version={{.Version}}
|
||||
-X git.xsfx.dev/prometheus/jitsiexporter/cmd/main.commit={{.ShortCommit}}
|
||||
-X git.xsfx.dev/prometheus/jitsiexporter/cmd/main.date={{.Date}}
|
||||
main: "./cmd/jitsiexporter/main.go"
|
||||
|
||||
archives:
|
||||
- replacements:
|
||||
darwin: macos
|
||||
386: i386
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
|
||||
dockers:
|
||||
- image_templates:
|
||||
- "quay.io/xsteadfastx/jitsiexporter:latest"
|
||||
- "quay.io/xsteadfastx/jitsiexporter:{{ .Tag }}"
|
||||
- "quay.io/xsteadfastx/jitsiexporter:{{ .Major }}"
|
||||
dockerfile: Dockerfile
|
||||
|
||||
checksum:
|
||||
name_template: "checksums.txt"
|
||||
|
||||
snapshot:
|
||||
name_template: "{{ .Tag }}-next"
|
||||
|
||||
changelog:
|
||||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- "^docs:"
|
||||
- "^test:"
|
||||
- "^Bump version:"
|
||||
- "typo"
|
||||
- "^debug:"
|
||||
|
||||
nfpms:
|
||||
- formats:
|
||||
- apk
|
||||
- deb
|
||||
- rpm
|
||||
replacements:
|
||||
386: i386
|
||||
homepage: https://git.xsfx.dev/prometheus/jitsiexporter
|
||||
maintainer: Marvin Preuss <marvin@xsteadfastx.org>
|
13
Dockerfile
13
Dockerfile
@ -1,15 +1,4 @@
|
||||
FROM golang:1.14 AS base
|
||||
RUN set -ex \
|
||||
&& go get github.com/mitchellh/gox \
|
||||
&& go get github.com/vektra/mockery/.../
|
||||
|
||||
FROM base AS builder
|
||||
COPY . /go/src/github.com/xsteadfastx/jitsiexporter
|
||||
WORKDIR /go/src/github.com/xsteadfastx/jitsiexporter
|
||||
RUN set -ex \
|
||||
&& make build
|
||||
|
||||
FROM scratch
|
||||
COPY --from=builder /go/src/github.com/xsteadfastx/jitsiexporter/jitsiexporter_linux_amd64 /bin/jitsiexporter
|
||||
COPY jitsiexporter /
|
||||
EXPOSE 9700
|
||||
ENTRYPOINT ["/bin/jitsiexporter", "-debug=true", "-host=0.0.0.0"]
|
||||
|
19
Makefile
19
Makefile
@ -1,22 +1,23 @@
|
||||
.PHONY: build clean test lint dep-update
|
||||
.PHONY: generate build release clean test lint dep-update
|
||||
|
||||
VERSION ?= $(shell git describe --tags --always --dirty --match=v* 2> /dev/null || \
|
||||
echo v0)
|
||||
generate:
|
||||
GOFLAGS=-mod=vendor go generate ./...
|
||||
|
||||
build:
|
||||
export GOFLAGS=-mod=vendor ; \
|
||||
go generate ./...; \
|
||||
CGO_ENABLED=0 gox -mod vendor -ldflags '-extldflags "-static" -X "main.version=${VERSION}"' github.com/xsteadfastx/jitsiexporter/cmd/jitsiexporter
|
||||
goreleaser build --rm-dist --snapshot
|
||||
|
||||
release:
|
||||
goreleaser release --rm-dist --snapshot --skip-publish
|
||||
|
||||
clean:
|
||||
rm -f jitsiexporter
|
||||
rm -f dist/
|
||||
|
||||
test:
|
||||
export GOFLAGS=-mod=vendor ; \
|
||||
go test ./...
|
||||
go test -v -race -cover ./...
|
||||
|
||||
lint:
|
||||
golangci-lint run --enable-all --timeout 5m
|
||||
golangci-lint run --enable-all --disable=godox
|
||||
|
||||
dep-update:
|
||||
go get -u ./...
|
||||
|
@ -1,3 +1,4 @@
|
||||
// nolint: gochecknoglobals
|
||||
package main
|
||||
|
||||
import (
|
||||
@ -10,7 +11,11 @@ import (
|
||||
"github.com/xsteadfastx/jitsiexporter"
|
||||
)
|
||||
|
||||
var version string = "development"
|
||||
var (
|
||||
version = "dev"
|
||||
commit = "none"
|
||||
date = "unknown"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ver := flag.Bool("version", false, "Prints version.")
|
||||
@ -22,7 +27,7 @@ func main() {
|
||||
flag.Parse()
|
||||
|
||||
if *ver {
|
||||
fmt.Print(version)
|
||||
fmt.Printf("jitsiexporter %s, commit %s, built at %s", version, commit, date)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
|
2
go.mod
2
go.mod
@ -1,4 +1,4 @@
|
||||
module github.com/xsteadfastx/jitsiexporter
|
||||
module git.xsfx.dev/prometheus/jitsiexporter
|
||||
|
||||
go 1.14
|
||||
|
||||
|
@ -34,7 +34,6 @@ func (m *Metrics) Update() error {
|
||||
defer m.mux.Unlock()
|
||||
|
||||
now, err := m.Stater.Now(m.URL)
|
||||
|
||||
if err != nil {
|
||||
m.Errors.Inc()
|
||||
|
||||
@ -95,6 +94,7 @@ func get(ctx context.Context, url string, resp chan Response) {
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
resp <- Response{Resp: nil, Error: err}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -158,7 +158,7 @@ func collect(m *Metrics) {
|
||||
log.Error(err)
|
||||
}
|
||||
|
||||
time.Sleep(m.Interval) // nolint:gomnd
|
||||
time.Sleep(m.Interval)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user