👷 Add release stage
This commit is contained in:
parent
374a40f910
commit
1c8db7d307
8 changed files with 116 additions and 1 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
dist/
|
||||||
|
.idea
|
||||||
|
config.toml
|
||||||
|
spiegel
|
68
.goreleaser.yaml
Normal file
68
.goreleaser.yaml
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
|
||||||
|
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
|
||||||
|
|
||||||
|
gitea_urls:
|
||||||
|
api: https://git.gnous.eu/api/v1
|
||||||
|
download: https://git.gnous.eu
|
||||||
|
skip_tls_verify: false
|
||||||
|
|
||||||
|
before:
|
||||||
|
hooks:
|
||||||
|
- go mod tidy
|
||||||
|
|
||||||
|
builds:
|
||||||
|
- env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
- darwin
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
|
||||||
|
archives:
|
||||||
|
- format: tar.gz
|
||||||
|
name_template: >-
|
||||||
|
{{ .ProjectName }}_
|
||||||
|
{{- title .Os }}_
|
||||||
|
{{- if eq .Arch "amd64" }}x86_64
|
||||||
|
{{- else if eq .Arch "386" }}i386
|
||||||
|
{{- else }}{{ .Arch }}{{ end }}
|
||||||
|
{{- if .Arm }}v{{ .Arm }}{{ end }}
|
||||||
|
|
||||||
|
nfpms:
|
||||||
|
-
|
||||||
|
id: spiegel
|
||||||
|
package_name: spiegel
|
||||||
|
file_name_template: "{{ .ConventionalFileName }}"
|
||||||
|
vendor: Ada
|
||||||
|
homepage: https://git.gnous.eu/ada/spiegel
|
||||||
|
maintainer: Ada <ada@gnous.eu>
|
||||||
|
description: A light paste server
|
||||||
|
license: MPL-2.0
|
||||||
|
formats:
|
||||||
|
- deb
|
||||||
|
- rpm
|
||||||
|
- archlinux
|
||||||
|
umask: 002
|
||||||
|
provides:
|
||||||
|
- spiegel
|
||||||
|
contents:
|
||||||
|
- src: config.example.toml
|
||||||
|
dst: /etc/spiegel/config.toml
|
||||||
|
- src: deployment/goreleaser/spiegel.service
|
||||||
|
dst: /usr/lib/systemd/system/spiegel.service
|
||||||
|
scripts:
|
||||||
|
preinstall: "deployment/goreleaser/preinstall.sh"
|
||||||
|
preremove: "deployment/goreleaser/preremove.sh"
|
||||||
|
postremove: "deployment/goreleaser/postremove.sh"
|
||||||
|
|
||||||
|
checksum:
|
||||||
|
algorithm: sha256
|
||||||
|
|
||||||
|
changelog:
|
||||||
|
sort: asc
|
||||||
|
filters:
|
||||||
|
exclude:
|
||||||
|
- "^docs:"
|
||||||
|
- "^test:"
|
11
.woodpecker/release.yaml
Normal file
11
.woodpecker/release.yaml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
steps:
|
||||||
|
- name: Release
|
||||||
|
image: golang:1.22.3
|
||||||
|
commands:
|
||||||
|
- go install github.com/goreleaser/goreleaser@latest
|
||||||
|
- goreleaser release
|
||||||
|
secrets: [ gitea_token ]
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
repo: ada/spiegel
|
||||||
|
depends_on: []
|
|
@ -1,4 +1,4 @@
|
||||||
clonedirectory = "archive/"
|
clonedirectory = "/var/lib/spiegel/"
|
||||||
interval = 10
|
interval = 10
|
||||||
|
|
||||||
[log]
|
[log]
|
||||||
|
|
7
deployment/goreleaser/postremove.sh
Normal file
7
deployment/goreleaser/postremove.sh
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
if getent passwd spiegel > /dev/null; then
|
||||||
|
userdel -r spiegel
|
||||||
|
fi
|
||||||
|
|
||||||
|
if getent group spiegel > /dev/null; then
|
||||||
|
groupdel spiegel
|
||||||
|
fi
|
12
deployment/goreleaser/preinstall.sh
Normal file
12
deployment/goreleaser/preinstall.sh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
if ! getent group spiegel > /dev/null; then
|
||||||
|
groupadd -r spiegel
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! getent passwd spiegel > /dev/null; then
|
||||||
|
useradd -r -d /var/lib/spiegel -s /sbin/nologin -g spiegel -c "Spiegel server" spiegel
|
||||||
|
fi
|
||||||
|
if ! test -d /var/lib/spiegel; then
|
||||||
|
mkdir -p /var/lib/spiegel
|
||||||
|
chmod 0750 /var/lib/spiegel
|
||||||
|
chown -R spiegel:spiegel /var/lib/spiegel
|
||||||
|
fi
|
1
deployment/goreleaser/preremove.sh
Normal file
1
deployment/goreleaser/preremove.sh
Normal file
|
@ -0,0 +1 @@
|
||||||
|
systemctl stop spiegel
|
12
deployment/goreleaser/spiegel.service
Normal file
12
deployment/goreleaser/spiegel.service
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=A light git repository mirror tools
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=spiegel
|
||||||
|
|
||||||
|
ExecStart=/usr/bin/spiegel /etc/spiegel/config.toml
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in a new issue