uses goreleaser

master
Marvin Steadfast 4 years ago
parent 9efb1042e3
commit 0282d78cd3

@ -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

@ -1,6 +1 @@
jitsiexporter_darwin_*
jitsiexporter_freebsd_*
jitsiexporter_linux_*
jitsiexporter_netbsd_*
jitsiexporter_openbsd_*
jitsiexporter_windows_*
dist/*

@ -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>

@ -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"]

@ -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)
}

@ -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…
Cancel
Save