.goreleaser.yaml RawHistoryFolder
1# Builds the GitHub release for a pushed v* tag (.github/workflows/release.yml)
2# and generates the neferafk-bin PKGBUILD. The workflow verifies that PKGBUILD
3# with makepkg before it pushes it to the AUR, so GoReleaser never uploads it.
4version: 2
5
6project_name: neferafk
7
8before:
9 hooks:
10 - go mod verify
11
12builds:
13 - id: neferafk
14 main: ./cmd/neferafk
15 binary: neferafk
16 env:
17 - CGO_ENABLED=0
18 goos: [linux]
19 goarch: [amd64, arm64]
20 flags:
21 - -trimpath
22 - -buildmode=pie
23 ldflags:
24 - -s -w -X main.version={{ .Version }}
25 # Same inputs give the same binary.
26 mod_timestamp: "{{ .CommitTimestamp }}"
27
28archives:
29 - id: neferafk
30 ids: [neferafk]
31 name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
32 formats: [tar.gz]
33 # Everything the PKGBUILD package() installs, at the paths of the repo.
34 files:
35 - LICENSE
36 - README.md
37 - examples/config
38 - packaging/neferafk.pam
39
40checksum:
41 name_template: checksums.txt
42 algorithm: sha256
43
44snapshot:
45 version_template: "{{ incpatch .Version }}-next"
46
47git:
48 tag_sort: -version:refname
49
50changelog:
51 sort: asc
52 use: github
53 filters:
54 exclude:
55 - "^style(\\([^)]+\\))?:"
56 - "^test(\\([^)]+\\))?:"
57 groups:
58 - title: Added
59 regexp: "^feat(\\([^)]+\\))?!?:"
60 order: 0
61 - title: Fixed
62 regexp: "^fix(\\([^)]+\\))?!?:"
63 order: 1
64 - title: Performance
65 regexp: "^perf(\\([^)]+\\))?!?:"
66 order: 2
67 - title: Changed
68 regexp: "^(refactor|build)(\\([^)]+\\))?!?:"
69 order: 3
70 - title: Documentation
71 regexp: "^docs(\\([^)]+\\))?!?:"
72 order: 4
73 - title: Maintenance
74 regexp: "^(chore|ci)(\\([^)]+\\))?!?:"
75 order: 5
76 - title: Other changes
77 order: 999
78
79release:
80 github:
81 owner: bnema
82 name: neferafk
83 draft: false
84 prerelease: auto
85 mode: replace
86 header: |
87 ## neferafk {{ .Tag }}
88
89 ### Install on Arch Linux
90
91 ```sh
92 paru -S neferafk-bin # this release, pre-built (x86_64, aarch64)
93 paru -S neferafk-git # latest main, built from source
94 ```
95
96 ### Install the pre-built archive
97
98 Linux amd64 and arm64. Replace `amd64` with `arm64` on ARM.
99
100 ```sh
101 gh release download {{ .Tag }} -R bnema/neferafk -p 'neferafk_{{ .Version }}_linux_amd64.tar.gz' -p checksums.txt
102 sha256sum -c --ignore-missing checksums.txt
103 gh attestation verify neferafk_{{ .Version }}_linux_amd64.tar.gz -R bnema/neferafk
104 ```
105
106 The archive holds the `neferafk` binary, the PAM service file `neferafk.pam` (install it as `/etc/pam.d/neferafk` for password mode), an example config, the README and the license. See the [README](https://github.com/bnema/neferafk#readme) for runtime dependencies.
107 footer: |
108 ---
109
110 **Full changelog**: https://github.com/bnema/neferafk/compare/{{ .PreviousTag }}...{{ .Tag }}
111
112aurs:
113 - name: neferafk-bin
114 ids: [neferafk]
115 homepage: https://github.com/bnema/neferafk
116 description: "Idle daemon for Wayland: fade, session lock, screens off and suspend"
117 maintainers:
118 - "bnema <b at bnema dot dev>"
119 license: GPL-3.0-only
120 # The release workflow verifies and publishes the generated PKGBUILD.
121 skip_upload: true
122 provides: [neferafk]
123 conflicts: [neferafk, neferafk-git]
124 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
125 depends:
126 - glibc
127 - pam
128 - libxkbcommon
129 - vulkan-icd-loader
130 - vulkan-driver
131 - systemd
132 - ttf-dejavu # lock screen monospace font (DejaVu Sans Mono)
133 optdepends:
134 - "pass: PIN source for auth.mode = pin"
135 backup:
136 - etc/pam.d/neferafk
137 package: |-
138 install -Dm755 ./neferafk "${pkgdir}/usr/bin/neferafk"
139 install -Dm644 ./packaging/neferafk.pam "${pkgdir}/etc/pam.d/neferafk"
140 install -Dm644 ./examples/config "${pkgdir}/usr/share/doc/neferafk/config.example"
141 install -Dm644 ./README.md "${pkgdir}/usr/share/doc/neferafk/README.md"
142 install -Dm644 ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"