Skip to content

Commit

Permalink
Merge pull request #2 from FriendlyCaptcha/deb-file
Browse files Browse the repository at this point in the history
Build packages for releases
  • Loading branch information
gzuidhof authored Apr 17, 2024
2 parents 307bf17 + 3952272 commit a9cb935
Show file tree
Hide file tree
Showing 10 changed files with 101 additions and 6 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
name: goreleaser

on:
push:
branches:
- master
- main
release:
types: [published]

jobs:
goreleaser:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,7 @@
# Go workspace file
go.work

# Goreleaser dist output files
dist/

agentstate
File renamed without changes.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,13 @@ hareply serve
* The file is read again on any TCP connection, if that fails the last known file contents are used.
* If the value in the file is not a valid response for `agent-check`, the last valid response is returned instead.

## Release
Releases are built using `goreleaser`, see the [`goreleaser.yml`](./goreleaser.yml) file.

To mint a (test) release locally, install [goreleaser](https://goreleaser.com/install/) and run
```shell
goreleaser --snapshot --skip=publish --clean
```

## License
[MIT](./LICENSE.md) [🎶](https://suno.com/song/da6d4a83-1001-4694-8c28-648a6e8bad0a).
1 change: 1 addition & 0 deletions assets/packages/hareply.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
HAREPLY_FILE=/etc/hareply/agentstate
12 changes: 12 additions & 0 deletions assets/packages/hareply.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[Unit]
Description=hareply
After=syslog.target network-online.target

[Service]
EnvironmentFile=/etc/hareply/hareply.conf
ExecStart=/usr/bin/hareply
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target
4 changes: 4 additions & 0 deletions assets/packages/post-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

systemctl --system daemon-reload || true
systemctl enable hareply || true
3 changes: 3 additions & 0 deletions assets/packages/post-uninstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

systemctl --system daemon-reload || true
4 changes: 4 additions & 0 deletions assets/packages/pre-uninstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

systemctl stop hareply || true
systemctl disable hareply || true
66 changes: 64 additions & 2 deletions goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
project_name: hareply
builds:
- binary: hareply
-
id: hareply-build
binary: hareply
goos:
- linux
- darwin
Expand All @@ -11,7 +13,10 @@ builds:
ldflags:
- -s -w -X github.com/friendlycaptcha/hareply/buildinfo.version={{.Version}} -X github.com/friendlycaptcha/hareply/buildinfo.commit={{.Commit}} -X github.com/friendlycaptcha/hareply/buildinfo.commitDate={{.CommitDate}}
archives:
- id: hareply-archive
-
id: hareply-archive
builds:
- hareply-build
name_template: >-
{{ .ProjectName }}_
{{- .Tag }}_
Expand All @@ -20,3 +25,60 @@ archives:
format_overrides:
- goos: windows
format: zip
files:
- LICENSE
- README.md
nfpms:
-
id: hareply-package
package_name: hareply
builds:
- hareply-build
file_name_template: >-
{{ .ProjectName }}_
{{- .Tag }}_
{{- .Os }}_
{{- .Arch}}
vendor: Friendly Captcha GmbH
homepage: https://github.com/friendlycaptcha/hareply
maintainer: Guido Zuidhof <[email protected]>
description: "hareply - responder for HAProxy's agent-check"
license: MIT
formats:
- apk
- deb
- rpm
bindir: /usr/bin
section: net
priority: optional
contents:
- dst: /etc/hareply
type: dir
file_info:
owner: root
group: root
mode: 0750
- src: assets/packages/hareply.service
dst: /etc/systemd/system/hareply.service
type: config
file_info:
owner: root
group: root
mode: 0640
- src: assets/packages/hareply.conf
dst: /etc/hareply/hareply.conf
type: config
file_info:
owner: root
group: root
mode: 0640
scripts:
postinstall: "assets/packages/post-install.sh"
preremove: "assets/packages/pre-uninstall.sh"
postremove: "assets/packages/post-uninstall.sh"
deb:
lintian_overrides:
- statically-linked-binary
- changelog-file-missing-in-native-package
snapshot:
name_template: "{{ .Tag }}-next"

0 comments on commit a9cb935

Please sign in to comment.