signald-go/.gitlab-ci.yml

112 lines
3.4 KiB
YAML
Raw Normal View History

stages:
- build
- publish
lint:
image: nixery.dev/shell/diffutils/go/golangci-lint
stage: build
2018-10-09 00:39:16 +00:00
before_script:
- cp /share/go/bin/go /bin && mkdir /tmp # fix weirdness from nixery image
- mkdir -p /go/src/src/gitlab.com/signald/signald-go
- cp -r * /go/src/src/gitlab.com/signald/signald-go
- cd /go/src/src/gitlab.com/signald/signald-go
script:
- golangci-lint run
- go mod tidy
- diff --color=always go.mod "${CI_PROJECT_DIR}/go.mod"
- diff --color=always go.sum "${CI_PROJECT_DIR}/go.sum"
2020-12-13 02:43:30 +00:00
build:x86:
stage: build
image: golang:latest
2018-10-09 00:39:16 +00:00
before_script:
- mkdir -p /go/src/gitlab.com/signald/signald-go
- cp -r * /go/src/gitlab.com/signald/signald-go
- cd /go/src/gitlab.com/signald/signald-go
script:
2020-12-13 00:33:29 +00:00
- go build -o "${CI_PROJECT_DIR}/signaldctl" ./cmd/signaldctl
artifacts:
paths:
2020-12-13 00:33:29 +00:00
- signaldctl
expire_in: 1 month
2020-12-13 02:43:30 +00:00
build:aarch64:
stage: build
2020-12-13 02:45:03 +00:00
tags: [arm-builder]
2020-12-13 02:43:30 +00:00
image: golang:latest
before_script:
- mkdir -p /go/src/gitlab.com/signald/signald-go
- cp -r * /go/src/gitlab.com/signald/signald-go
- cd /go/src/gitlab.com/signald/signald-go
script:
- go build -o "${CI_PROJECT_DIR}/signaldctl" ./cmd/signaldctl
artifacts:
paths:
- signaldctl
expire_in: 1 month
build:x86:deb:
stage: build
image: debian:latest
before_script:
- apt-get update
2021-02-03 05:35:42 +00:00
- apt-get install -y git-buildpackage dh-golang bash-completion golang-any golang-github-spf13-cobra-dev golang-github-spf13-viper-dev
- apt-get install -y ./*.deb && rm -vf *.deb
script:
2021-02-03 05:03:02 +00:00
- go run ./cmd/signaldctl doc -o man
- go run ./cmd/signaldctl completion bash > debian/package.bash-completion
- ls *.1 > debian/manpages
2021-01-30 09:57:58 +00:00
- gbp dch --ignore-branch --debian-tag="%(version)s" --git-author --new-version="$(git describe --abbrev=0)+git$(date +%Y-%m-%d)r$(git rev-parse --short=8 HEAD).$(git rev-list $(git describe --abbrev=0)..HEAD --count)"
- dpkg-buildpackage -us -uc -b
- mv ../*.deb .
needs:
2021-01-31 10:03:40 +00:00
- project: signald/libraries/golang-github-mdp-qrterminal
job: build
ref: master
artifacts: true
- project: signald/libraries/golang-github-jedib0t-go-pretty
job: build
ref: master
artifacts: true
2021-02-03 05:03:02 +00:00
variables:
2021-02-03 05:17:57 +00:00
SIGNALDCTL_PUBLIC_DOC_MODE: "on"
artifacts:
paths:
- "*.deb"
- "*.1"
expire_in: 1 month
2021-02-02 23:03:17 +00:00
publish deb:
image: registry.gitlab.com/signald/infrastructure/signald-builder-x86:d5e68709
stage: publish
tags: [deb-signer]
needs: ["build:x86:deb"]
script:
- aptly repo create signald
- aptly mirror create -ignore-signatures backfill-mirror https://updates.signald.org "${DISTRIBUTION}" main
- aptly mirror update -ignore-signatures backfill-mirror
- aptly repo import backfill-mirror signald signald signaldctl
- aptly repo add signald *.deb
- aptly publish repo -config=.aptly.conf -batch -gpg-key="${SIGNING_KEY}" -distribution="${DISTRIBUTION}" "signald" "s3:updates.signald.org:"
variables:
DISTRIBUTION: unstable
only:
- main
2021-02-02 21:40:02 +00:00
- tags
pages:
image: debian:latest
stage: publish
needs: ["build:x86"]
before_script:
- apt-get update && apt-get install -y hugo
script:
2021-02-03 00:36:01 +00:00
- mkdir -p docs/content/signaldctl
- SIGNALDCTL_PUBLIC_DOC_MODE=on ./signaldctl doc -o md ./docs/content/signaldctl
2021-02-02 21:40:02 +00:00
- cd docs
- hugo
- mv public ../
artifacts:
paths:
- "public/"
expire_in: 1 month