👷 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
|
||||
|
||||
[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