Skip to content

Commit 84d6ace

Browse files
committed
winget automation
1 parent 629b48e commit 84d6ace

File tree

1 file changed

+178
-8
lines changed

1 file changed

+178
-8
lines changed

.goreleaser.yaml

Lines changed: 178 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,142 @@ builds:
1212
env:
1313
- CGO_ENABLED=0
1414
goos:
15+
- linux
1516
- windows
17+
- darwin
1618
goarch:
1719
- amd64
1820
- arm64
1921

2022
archives:
2123
- name_template: "{{ .ProjectName }}_{{ .Version }}_{{ title .Os }}_{{ .Arch }}"
22-
format: zip
24+
format_overrides:
25+
- goos: windows
26+
formats: [zip]
2327

2428
checksum:
2529
name_template: "checksums.txt"
2630

2731
snapshot:
2832
version_template: "{{ .Tag }}-next"
2933

30-
# Winget configuration
34+
# Homebrew Tap (macOS and Linux)
35+
brews:
36+
- # GitHub repository for your Homebrew tap
37+
# You'll need to create a repo named homebrew-tap (or homebrew-<anything>)
38+
name: graft
39+
repository:
40+
owner: skssmd # Your GitHub username
41+
name: homebrew-tap
42+
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
43+
44+
# Commit author for Homebrew formula updates
45+
commit_author:
46+
name: goreleaserbot
47+
email: bot@goreleaser.com
48+
49+
# Directory inside the repository where formula will be stored
50+
directory: Formula
51+
52+
# Homepage of your project
53+
homepage: "https://github.com/skssmd/graft"
54+
55+
# Description for Homebrew
56+
description: "Agentless deployment tool extending Docker Compose to cloud via SSH"
57+
58+
# License
59+
license: "MIT"
60+
61+
# Install script
62+
install: |
63+
bin.install "graft"
64+
65+
# Test to verify installation
66+
test: |
67+
system "#{bin}/graft --version"
68+
69+
# Debian/Ubuntu APT repository (using Fury.io or custom repo)
70+
nfpms:
71+
- # Package name
72+
package_name: graft
73+
74+
# Your info
75+
vendor: skssmd
76+
homepage: https://github.com/skssmd/graft
77+
maintainer: skssmd <skssmd78475@gmail.com>
78+
79+
# Description
80+
description: Agentless deployment tool extending Docker Compose to cloud via SSH
81+
82+
# License
83+
license: MIT
84+
85+
# Formats to generate
86+
formats:
87+
- deb # Debian/Ubuntu
88+
- rpm # RedHat/Fedora
89+
- apk # Alpine
90+
- archlinux # Arch Linux
91+
92+
# No dependencies - graft is a standalone binary
93+
# It installs docker/docker-compose/git on target servers via SSH
94+
95+
# Files to include
96+
contents:
97+
# Man pages (optional)
98+
# - src: ./manpages/graft.1.gz
99+
# dst: /usr/share/man/man1/graft.1.gz
100+
101+
# Completion scripts (optional)
102+
# - src: ./completions/graft.bash
103+
# dst: /usr/share/bash-completion/completions/graft
104+
105+
# Config files (optional)
106+
# - src: ./config/graft.yml
107+
# dst: /etc/graft/config.yml
108+
# type: config
109+
110+
# AUR (Arch User Repository)
111+
aurs:
112+
- # AUR package name (GoReleaser will use graft-bin for binary packages)
113+
name: graft-bin
114+
115+
# Your AUR SSH key (you'll need to set this up)
116+
# Generate with: ssh-keygen -t ed25519 -C "aur@archlinux.org"
117+
# Add to AUR: https://aur.archlinux.org/account/
118+
private_key: "{{ .Env.AUR_SSH_KEY }}"
119+
120+
# Git URL for AUR repository
121+
git_url: "ssh://aur@aur.archlinux.org/graft-bin.git"
122+
123+
# Package description (AUR requires max 80 chars, no period at end)
124+
description: "Agentless deployment tool extending Docker Compose to cloud via SSH"
125+
126+
# Maintainers
127+
maintainers:
128+
- "skssmd <skssmd78475@gmail.com>"
129+
130+
# Contributors (optional)
131+
contributors:
132+
- "skssmd <skssmd78475@gmail.com>"
133+
134+
# License
135+
license: MIT
136+
137+
# Homepage
138+
homepage: "https://github.com/skssmd/graft"
139+
140+
# No dependencies - graft is a standalone binary
141+
# It installs docker/docker-compose/git on remote servers via SSH
142+
143+
# Commit author
144+
commit_author:
145+
name: goreleaserbot
146+
email: bot@goreleaser.com
31147
winget:
32148
- name: Graft
33149
publisher: skssmd
150+
package_identifier: skssmd.Graft
34151
license: MIT
35152
copyright: Copyright (c) 2025 skssmd
36153
homepage: https://github.com/skssmd/Graft
@@ -97,19 +214,72 @@ winget:
97214

98215
# Skip upload for testing
99216
skip_upload: false
217+
218+
# Snapcraft (Snap Store)
219+
# snapcrafts:
220+
# - # Snap name
221+
# name: graft
222+
223+
# # Description
224+
# summary: Agentless deployment tool extending Docker Compose to cloud via SSH
225+
# description: A simple agentless deployment engine that extends the Docker Compose workflow to cloud infrastructure via SSH. Graft enables native remote management of AWS, GCP, and VPS instances with no agent installs or server-side overhead required. With features like DNS Configurations, Rollbacks, CI/CD Workflow
226+
227+
# # License
228+
# license: MIT
229+
230+
# # Type of snap (classic or strict)
231+
# # Graft needs classic because it interacts with the local file system, SSH, and Git
232+
# confinement: classic
233+
234+
# # Build to publish
235+
# publish: true
236+
237+
# # Graded (devel or stable)
238+
# grade: stable
239+
240+
# Publishers for APT/RPM (using Gemfury, Cloudsmith, or custom)
241+
# If you want to host your own APT repository, use this:
242+
publishers:
243+
- name: fury.io
244+
# You'll need a Fury.io account token
245+
env:
246+
- FURY_TOKEN={{ .Env.FURY_TOKEN }}
247+
cmd: |
248+
curl -F package=@{{ .ArtifactPath }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/skssmd/
249+
100250
release:
251+
# Set to true to create draft releases (you can publish manually after review)
101252
draft: false
253+
# Set to true to mark as prerelease for beta/rc tags
102254
prerelease: auto
103255

104256
header: |
105-
winget install skssmd.Graft
106-
```
257+
## Feature Update with Graft 🚀
258+
259+
### V2.3 Highlights:
260+
1. **Rollback Feature**: Added rollback functionality to revert to previous deployments.
261+
2. **Webhook Mapping**: Added webhook mapping functionality to map webhook domains to servers.
262+
3. **Multi Environment Support**: Added multi environment support to manage multiple deployment environments.
263+
- Environment Creation
264+
- Environment Specific Configuration
265+
- Environment Specific Workflow Generation
266+
- Environment Specific Host and Deployment
267+
- Environment Specific Commands
268+
- Environment Specific DNS Configurations
269+
- Environment Specific Rollback
270+
4. **Bug Fixes and Improvements**
107271
108-
**Or upgrade:**
109-
```powershell
110-
winget upgrade skssmd.Graft
272+
### V2 Highlights:
273+
This release introduces significant enhancements to Graft, moving from basic local-to-server deployments to a more robust CI/CD-driven workflow using GitHub Actions and our new `graft-hook` service.
111274
275+
1. **Git Remote Modes**: Move away from direct local-to-server channels. Deployments now go through GitHub Workflows and CI/CD channels.
276+
2. **Graft-Hook**: A new webhook service personalized specifically for Graft-based servers, maintaining a zero-config solution with proper security.
277+
3. **Automated GitHub Workflows**: Graft now generates production-ready workflows automatically from your `graft-compose.yml` context.
278+
4. **Enhanced Monitoring**: Easy CLI-based monitoring for `graft-hook`, including real-time build error logs.
279+
5. **Cloudflare API Integration**: Automated DNS zone mapping based on Traefik host labels.
280+
6. **Cloudflare Zone Registry**: Manage multiple Cloudflare accounts and zones with an interactive selection menu.
281+
7. **Database Backup Automation(Infrastructure)**: Easily backup Infrastructure databases to S3/R2(Experimental).
112282
113283
footer: |
114284
---
115-
Released by **skssmd** using [GoReleaser](https://github.com/goreleaser/goreleaser)
285+
Released by **skssmd** using [GoReleaser](https://github.com/goreleaser/goreleaser).

0 commit comments

Comments
 (0)