File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed
Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Release
2+
3+ on :
4+ push :
5+ tags :
6+ - " v*"
7+
8+ jobs :
9+ build :
10+ runs-on : ubuntu-latest
11+ strategy :
12+ matrix :
13+ goos : [linux, windows, darwin]
14+ goarch : [amd64, arm64]
15+
16+ steps :
17+ - name : Checkout code
18+ uses : actions/checkout@v4
19+
20+ - name : Set up Go
21+ uses : actions/setup-go@v5
22+ with :
23+ go-version : " 1.23"
24+
25+ - name : Build binaries
26+ run : |
27+ mkdir -p dist
28+ GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \
29+ go build -o dist/coldwire-server-${{ matrix.goos }}-${{ matrix.goarch }}
30+
31+ - name : Upload artifacts
32+ uses : actions/upload-artifact@v4
33+ with :
34+ name : binaries
35+ path : dist/*
36+
37+ release :
38+ runs-on : ubuntu-latest
39+ needs : build
40+ steps :
41+ - name : Checkout code
42+ uses : actions/checkout@v4
43+
44+ - name : Download build artifacts
45+ uses : actions/download-artifact@v4
46+ with :
47+ name : binaries
48+ path : dist
49+
50+ - name : Compute SHA256 checksums
51+ run : |
52+ echo "## Checksums" > dist/CHECKSUMS.md
53+ for f in dist/*; do
54+ sha256sum "$f" >> dist/CHECKSUMS.md
55+ done
56+ cat dist/CHECKSUMS.md
57+
58+ - name : Extract latest changelog section
59+ id : changelog
60+ run : |
61+ latest_notes=$(awk '/^## \[v/{if (found) exit; found=1; next} found {print}' CHANGELOG.md)
62+ echo "LATEST_NOTES<<EOF" >> $GITHUB_ENV
63+ echo "$latest_notes" >> $GITHUB_ENV
64+ echo "EOF" >> $GITHUB_ENV
65+
66+ - name : Publish GitHub Release
67+ run : |
68+ gh release create "$GITHUB_REF_NAME" dist/* \
69+ --title "Release $GITHUB_REF_NAME" \
70+ --notes "$LATEST_NOTES"
71+ env :
72+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
Original file line number Diff line number Diff line change 1+ ## [ v0.1]
2+ ### Added
3+ - Initial release for Coldwire's federated server Go implementation
4+ - User storage with support for SQLite, MySQL, MariaDB options.
5+ - Data storage with support for SQLite, MySQL, MariaDB, Redis options
6+
You can’t perform that action at this time.
0 commit comments