forked from Armur-Ai/Pentest-Swarm-AI
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.goreleaser.yaml
More file actions
155 lines (143 loc) · 4.29 KB
/
Copy path.goreleaser.yaml
File metadata and controls
155 lines (143 loc) · 4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# GoReleaser config for Pentest Swarm AI.
#
# Replaces the hand-rolled matrix build in .github/workflows/release.yml.
# Triggers on `git push --tags` of any `v*` tag.
#
# Filename / artifact shape is deliberately backward-compatible with the
# pre-GoReleaser releases (raw binaries named `pentestswarm-<os>-<arch>`,
# plus `checksums.txt`) so the existing Homebrew formula keeps working
# without coordinated changes in the homebrew-tap repo.
#
# Local snapshot test (no publish):
# make snapshot
# # or: goreleaser release --snapshot --clean
#
# Real release (pushes to GitHub):
# git tag v0.1.1 && git push origin v0.1.1
# # GHA does the rest.
version: 2
project_name: pentestswarm
before:
hooks:
- go mod tidy
builds:
- id: pentestswarm
main: ./cmd/pentestswarm/
binary: pentestswarm
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
ignore:
# Windows on arm64 is a fringe target and the current Homebrew
# formula doesn't reference it. Skip to keep the release matrix tight.
- goos: windows
goarch: arm64
flags:
- -trimpath
ldflags:
- -s -w
- -X main.version={{.Version}}
- -X main.commit={{.Commit}}
- -X main.date={{.Date}}
archives:
# Use format: binary so the release artifacts are raw binaries
# rather than tar.gz / zip. This matches the existing release.yml
# output and means the homebrew-tap formula keeps working unchanged.
- id: binaries
formats:
- binary
name_template: 'pentestswarm-{{ .Os }}-{{ .Arch }}'
checksum:
name_template: 'checksums.txt'
algorithm: sha256
changelog:
use: github
sort: asc
groups:
- title: Features
regexp: '^.*?feat(\(.+\))??!?:.+$'
order: 0
- title: Fixes
regexp: '^.*?fix(\(.+\))??!?:.+$'
order: 1
- title: Performance
regexp: '^.*?perf(\(.+\))??!?:.+$'
order: 2
- title: Docs
regexp: '^.*?docs(\(.+\))??!?:.+$'
order: 3
- title: Other
order: 999
release:
github:
owner: Armur-Ai
name: Pentest-Swarm-AI
draft: false
# `prerelease: auto` marks tags like v1.0.0-rc1 or v0.2.0-beta as
# pre-releases automatically; vN.N.N tags ship as full releases.
prerelease: auto
mode: replace
header: |
## Pentest Swarm AI {{ .Tag }}
Install via Homebrew:
```
brew install Armur-Ai/tap/pentestswarm
```
Install via AUR (once submitted):
```
yay -S pentestswarm-bin
```
Run via Docker (16 security tools pre-installed):
```
docker run --rm ghcr.io/armur-ai/pentestswarm:{{ .Tag }} scan example.com
```
footer: |
---
Full source: github.com/Armur-Ai/Pentest-Swarm-AI
# --- Follow-ups (intentionally not enabled yet — require secrets/setup) ---
#
# Once HOMEBREW_TAP_TOKEN secret is added to the repo (a PAT with write
# access to Armur-Ai/homebrew-tap), uncomment the brews: block below to
# have GoReleaser push the formula directly on each release, replacing
# the 6h-cron polling in homebrew-tap/.github/workflows/update-formula.yml:
#
# brews:
# - name: pentestswarm
# repository:
# owner: Armur-Ai
# name: homebrew-tap
# token: "{{ .Env.HOMEBREW_TAP_TOKEN }}"
# directory: Formula
# homepage: https://github.com/Armur-Ai/Pentest-Swarm-AI
# description: Swarm of AI agents for authorized penetration testing
# license: AGPL-3.0-only
# test: |
# assert_match "pentestswarm version", shell_output("#{bin}/pentestswarm --version")
# install: |
# bin.install "pentestswarm"
#
# Once an AUR_KEY secret is added (SSH private key with push access to
# aur:pentestswarm-bin.git), uncomment the aurs: block to push PKGBUILD
# updates on each release, replacing manual maintenance of the AUR repo:
#
# aurs:
# - name: pentestswarm-bin
# homepage: https://github.com/Armur-Ai/Pentest-Swarm-AI
# description: Swarm of AI agents for authorized penetration testing
# maintainers:
# - 'Akhil Sharma <akhilsails@gmail.com>'
# license: AGPL-3.0-only
# private_key: '{{ .Env.AUR_KEY }}'
# git_url: 'ssh://aur@aur.archlinux.org/pentestswarm-bin.git'
# provides:
# - pentestswarm
# conflicts:
# - pentestswarm
# package: |-
# install -Dm755 ./pentestswarm "${pkgdir}/usr/bin/pentestswarm"