Skip to content

Commit ae7b658

Browse files
committed
Updates
0 parents  commit ae7b658

23 files changed

+457
-0
lines changed

.github/screenshot.png

70.9 KB
Loading

.github/workflows/release.yml

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Release PostPilot
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
permissions:
8+
contents: write
9+
id-token: write
10+
11+
jobs:
12+
release-amd64:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Set up Go
21+
uses: actions/setup-go@v5
22+
with:
23+
go-version: '1.22'
24+
25+
- name: Set up Node
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: '20.8.0'
29+
30+
- name: Install dependencies
31+
run: |
32+
sudo apt-get update
33+
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev
34+
35+
- name: Install Syft
36+
run: |
37+
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
38+
39+
- name: Install Cosign
40+
uses: sigstore/[email protected]
41+
42+
- name: Run GoReleaser
43+
uses: goreleaser/goreleaser-action@v5
44+
with:
45+
distribution: goreleaser
46+
version: latest
47+
args: release --clean
48+
env:
49+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50+
COSIGN_EXPERIMENTAL: 1
51+
52+
release-arm64:
53+
runs-on: buildjet-4vcpu-ubuntu-2204-arm
54+
steps:
55+
- name: Checkout
56+
uses: actions/checkout@v4
57+
with:
58+
fetch-depth: 0
59+
60+
- name: Set up Go
61+
uses: actions/setup-go@v5
62+
with:
63+
go-version: '1.22'
64+
65+
- name: Set up Node
66+
uses: actions/setup-node@v4
67+
with:
68+
node-version: '20.8.0'
69+
70+
- name: Install dependencies
71+
run: |
72+
sudo apt-get update
73+
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev
74+
75+
- name: Install Syft
76+
run: |
77+
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
78+
79+
- name: Install Cosign
80+
uses: sigstore/[email protected]
81+
82+
- name: Run GoReleaser
83+
uses: goreleaser/goreleaser-action@v5
84+
with:
85+
distribution: goreleaser
86+
version: latest
87+
args: release --clean
88+
env:
89+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
90+
COSIGN_EXPERIMENTAL: 1

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
build/bin
2+
node_modules
3+
frontend/dist
4+
dist/
5+
bin/

.goreleaser.dev.yaml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
before:
2+
hooks:
3+
- make dep
4+
5+
builds:
6+
- main: .
7+
id: "postpilot"
8+
binary: "{{ .ProjectName }}"
9+
goos:
10+
- linux
11+
- windows
12+
goarch:
13+
- amd64
14+
env:
15+
- CGO_ENABLED=1
16+
# ensures mod timestamp to be the commit timestamp
17+
mod_timestamp: '{{ .CommitTimestamp }}'
18+
flags:
19+
# important for reproducible builds so full build paths and module paths
20+
# are not embedded.
21+
- -trimpath
22+
ldflags:
23+
# disable symbol table (-s) and DWARF generation (-w)
24+
- -s -w -X main.Version={{.Version}} -X main.useWails=true
25+
gcflags:
26+
- all=-N -l
27+
tags:
28+
- dev
29+
overrides:
30+
- goos: windows
31+
goarch: amd64
32+
goamd64: v1
33+
ldflags:
34+
- -w
35+
- -s
36+
- -h
37+
- -X main.Version={{.Version}}
38+
- -X main.useWails=true

.goreleaser.yml

+159
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
before:
2+
hooks:
3+
- make dep
4+
- make bindings
5+
6+
builds:
7+
- main: .
8+
id: "postpilot"
9+
binary: "{{ .ProjectName }}"
10+
goos:
11+
- linux
12+
- windows
13+
goarch:
14+
- amd64
15+
env:
16+
- CGO_ENABLED=1
17+
# ensures mod timestamp to be the commit timestamp
18+
mod_timestamp: '{{ .CommitTimestamp }}'
19+
flags:
20+
# important for reproducible builds so full build paths and module paths
21+
# are not embedded.
22+
- -trimpath
23+
ldflags:
24+
# disable symbol table (-s) and DWARF generation (-w)
25+
- -s -w -X main.Version={{.Version}} -X main.useWails=true
26+
tags:
27+
- desktop
28+
- production
29+
overrides:
30+
- goos: windows
31+
goarch: amd64
32+
goamd64: v1
33+
ldflags:
34+
- -w
35+
- -s
36+
- -h
37+
- -H windowsgui
38+
- -X main.Version={{.Version}}
39+
- -X main.useWails=true
40+
tags:
41+
- desktop
42+
- production
43+
44+
archives:
45+
- format: tar.gz
46+
# this template makes the OS and Arch compatible with the results of uname.
47+
name_template: >-
48+
{{ .ProjectName }}_
49+
{{- title .Os }}_
50+
{{- if eq .Arch "amd64" }}x86_64
51+
{{- else if eq .Arch "386" }}i386
52+
{{- else }}{{ .Arch }}{{ end }}
53+
{{- if .Arm }}v{{ .Arm }}{{ end }}
54+
# use zip for windows archives
55+
format_overrides:
56+
- goos: windows
57+
format: zip
58+
59+
# config the checksum filename
60+
# https://goreleaser.com/customization/checksum
61+
checksum:
62+
name_template: 'checksums.txt'
63+
64+
# create a source tarball
65+
# https://goreleaser.com/customization/source/
66+
source:
67+
enabled: false
68+
69+
# creates SBOMs of all archives and the source tarball using syft
70+
# https://goreleaser.com/customization/sbom
71+
sboms:
72+
- artifacts: archive
73+
- id: source # Two different sbom configurations need two different IDs
74+
artifacts: source
75+
76+
# signs the checksum file
77+
# all files (including the sboms) are included in the checksum, so we don't
78+
# need to sign each one if we don't want to
79+
# https://goreleaser.com/customization/sign
80+
signs:
81+
- cmd: cosign
82+
env:
83+
- COSIGN_EXPERIMENTAL=1
84+
certificate: '${artifact}.pem'
85+
args:
86+
- sign-blob
87+
- '--output-certificate=${certificate}'
88+
- '--output-signature=${signature}'
89+
- '${artifact}'
90+
- "--yes" # needed on cosign 2.0.0+
91+
artifacts: checksum
92+
output: true
93+
94+
# Configure generation of a development full build snapshot
95+
snapshot:
96+
name_template: "{{ incpatch .Version }}-next"
97+
98+
changelog:
99+
sort: asc
100+
filters:
101+
exclude:
102+
- '^docs:'
103+
- '^test:'
104+
105+
nfpms:
106+
- vendor: postpilot
107+
license: MIT
108+
homepage: https://postpilot.watzon.tech
109+
maintainer: "Watzon <[email protected]>"
110+
description: "Email and SMTP testing GUI for developers"
111+
formats:
112+
- deb
113+
- rpm
114+
- apk
115+
- archlinux
116+
bindir: /usr/local/bin
117+
contents:
118+
- src: ./build/linux/postpilot_0.0.0_ARCH/usr/share/applications/postpilot.desktop
119+
dst: /usr/share/applications/postpilot.desktop
120+
- src: ./build/linux/postpilot_0.0.0_ARCH/usr/share/icons/hicolor/512x512/apps/postpilot.png
121+
dst: /usr/share/icons/hicolor/512x512/apps/postpilot.png
122+
- src: ./build/linux/postpilot_0.0.0_ARCH/usr/share/metainfo/tech.watzon.postpilot.appdata.xml
123+
dst: /usr/share/metainfo/tech.watzon.postpilot.appdata.xml
124+
dependencies:
125+
# Core Wails dependencies
126+
- gtk3
127+
- webkit2gtk-4.0
128+
- libayatana-appindicator3-1 # For system tray support
129+
130+
# Additional runtime dependencies
131+
- libwebkit2gtk-4.0-37
132+
- libgtk-3-0
133+
- xdg-utils # For opening URLs in browser
134+
overrides:
135+
rpm:
136+
dependencies:
137+
- gtk3
138+
- webkit2gtk4.0
139+
- libappindicator-gtk3 # RedHat/Fedora equivalent
140+
- webkit2gtk3
141+
apk:
142+
dependencies:
143+
- gtk+3.0
144+
- webkit2gtk
145+
- libappindicator
146+
archlinux:
147+
dependencies:
148+
- gtk3
149+
- webkit2gtk
150+
- libappindicator-gtk3
151+
rpm:
152+
packager: "Watzon <[email protected]>"
153+
deb:
154+
fields:
155+
Maintainer: "Watzon <[email protected]>"
156+
Bugs: https://github.com/watzon/postpilot/issues
157+
archlinux:
158+
packager: "Watzon <[email protected]>"
159+

.vscode/launch.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Launch PostPilot Send",
9+
"type": "go",
10+
"request": "launch",
11+
"mode": "auto",
12+
"program": "${workspaceFolder}/cmd/postpilot-send/main.go",
13+
"cwd": "${workspaceFolder}"
14+
}
15+
]
16+
}

asset-manifest.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"files": {
3+
"main.css": "/static/css/main.4b905cc7.css",
4+
"main.js": "/static/js/main.fbb6430c.js",
5+
"static/js/453.bc595ed1.chunk.js": "/static/js/453.bc595ed1.chunk.js",
6+
"static/media/screenshot.png": "/static/media/screenshot.4b18f3bc97fb0f4c449b.png",
7+
"static/media/logo.svg": "/static/media/logo.f0dd7fd7734c302d5fdc66bc53871919.svg",
8+
"index.html": "/index.html",
9+
"main.4b905cc7.css.map": "/static/css/main.4b905cc7.css.map",
10+
"main.fbb6430c.js.map": "/static/js/main.fbb6430c.js.map",
11+
"453.bc595ed1.chunk.js.map": "/static/js/453.bc595ed1.chunk.js.map"
12+
},
13+
"entrypoints": [
14+
"static/css/main.4b905cc7.css",
15+
"static/js/main.fbb6430c.js"
16+
]
17+
}

build/linux/postpilot_0.0.0_ARCH/usr/local/bin/.gitkeep

Whitespace-only changes.

favicon.ico

3.78 KB
Binary file not shown.

index.html

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="PostPilot - A sleek local SMTP testing environment for developers"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>PostPilot - Local SMTP Testing Environment</title><script defer="defer" src="/static/js/main.fbb6430c.js"></script><link href="/static/css/main.4b905cc7.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

logo192.png

5.22 KB
Loading

logo512.png

9.44 KB
Loading

manifest.json

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"short_name": "React App",
3+
"name": "Create React App Sample",
4+
"icons": [
5+
{
6+
"src": "favicon.ico",
7+
"sizes": "64x64 32x32 24x24 16x16",
8+
"type": "image/x-icon"
9+
},
10+
{
11+
"src": "logo192.png",
12+
"type": "image/png",
13+
"sizes": "192x192"
14+
},
15+
{
16+
"src": "logo512.png",
17+
"type": "image/png",
18+
"sizes": "512x512"
19+
}
20+
],
21+
"start_url": ".",
22+
"display": "standalone",
23+
"theme_color": "#000000",
24+
"background_color": "#ffffff"
25+
}

robots.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# https://www.robotstxt.org/robotstxt.html
2+
User-agent: *
3+
Disallow:

0 commit comments

Comments
 (0)