Skip to content

Commit 29bd64d

Browse files
committed
ci: add automated release workflow
1 parent 7490d78 commit 29bd64d

2 files changed

Lines changed: 144 additions & 8 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*' # Triggers on version tags like v1.0.0, v2.1.3, etc.
7+
8+
permissions:
9+
contents: write # Required for creating releases
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Bun
19+
uses: oven-sh/setup-bun@v1
20+
with:
21+
bun-version: latest
22+
23+
- name: Install dependencies
24+
run: bun install
25+
26+
- name: Build application
27+
run: bun run build
28+
29+
- name: Create source archive
30+
run: |
31+
# Create source code archive (excluding node_modules, .git, etc.)
32+
zip -r zero-call-source-${{ github.ref_name }}.zip . \
33+
-x "node_modules/*" ".git/*" "dist/*" ".astro/*" "*.log" \
34+
-x ".github/*" ".vscode/*"
35+
36+
- name: Create distribution archive
37+
run: |
38+
# Create built application archive
39+
cd dist
40+
zip -r ../zero-call-dist-${{ github.ref_name }}.zip .
41+
cd ..
42+
43+
- name: Create self-contained archive
44+
run: |
45+
# Create a complete self-contained package
46+
mkdir -p release-package
47+
cp -r dist/* release-package/
48+
cp README.md release-package/ 2>/dev/null || echo "README.md not found, skipping"
49+
cp LICENSE release-package/ 2>/dev/null || echo "LICENSE not found, skipping"
50+
51+
# Create a simple deployment guide
52+
cat > release-package/DEPLOYMENT.md << 'EOF'
53+
# Zero Call - Deployment Guide
54+
55+
This is a static build of Zero Call, a WebRTC video calling application.
56+
57+
## Quick Start
58+
59+
1. **Web Server**: Serve the contents of this folder using any web server
60+
2. **Local Testing**: Open `index.html` in a modern web browser
61+
3. **Custom Domain**: Configure your web server to serve from the domain root
62+
63+
## Deployment Options
64+
65+
### Static Hosting Services
66+
- **Netlify**: Drag and drop this folder to Netlify
67+
- **Vercel**: Upload this folder as a static site
68+
- **GitHub Pages**: Upload contents to your repository
69+
- **Cloudflare Pages**: Connect to your repository or upload directly
70+
71+
### Web Servers
72+
- **Nginx**: Point document root to this folder
73+
- **Apache**: Upload to your htdocs/public_html folder
74+
- **IIS**: Deploy to your web application folder
75+
76+
## Requirements
77+
78+
- Modern web browser with WebRTC support
79+
- HTTPS connection (required for camera/microphone access)
80+
- No server-side dependencies required
81+
82+
## Features
83+
84+
- Peer-to-peer video calling
85+
- Multi-language support
86+
- No registration or accounts required
87+
- Works entirely in the browser
88+
89+
For more information, visit: https://zero-call.org
90+
EOF
91+
92+
cd release-package
93+
zip -r ../zero-call-complete-${{ github.ref_name }}.zip .
94+
cd ..
95+
96+
- name: Extract version from tag
97+
id: version
98+
run: echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
99+
100+
- name: Create Release
101+
uses: softprops/action-gh-release@v1
102+
with:
103+
name: Zero Call ${{ steps.version.outputs.version }}
104+
body: |
105+
## Zero Call ${{ steps.version.outputs.version }}
106+
107+
A static WebRTC video calling application with no server dependencies.
108+
109+
### Downloads
110+
111+
- **📦 Complete Package** (`zero-call-complete-*.zip`): Ready-to-deploy build with documentation
112+
- **🌐 Distribution Only** (`zero-call-dist-*.zip`): Just the built application files
113+
- **📝 Source Code** (`zero-call-source-*.zip`): Source code without dependencies
114+
115+
### Quick Deploy
116+
117+
1. Download the **Complete Package**
118+
2. Extract the ZIP file
119+
3. Upload contents to any web server or static hosting service
120+
4. Access via HTTPS (required for camera/microphone permissions)
121+
122+
### Features
123+
124+
- 🎥 Peer-to-peer video calling
125+
- 🌍 Multi-language support
126+
- 🔒 No registration required
127+
- 📱 Works on desktop and mobile
128+
- ⚡ No server dependencies
129+
130+
For detailed deployment instructions, see `DEPLOYMENT.md` in the complete package.
131+
files: |
132+
zero-call-complete-${{ github.ref_name }}.zip
133+
zero-call-dist-${{ github.ref_name }}.zip
134+
zero-call-source-${{ github.ref_name }}.zip
135+
draft: false
136+
prerelease: false

‎README.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ planet!
4040

4141
## Roadmap
4242

43-
* I10n
44-
* Dynamic STUN servers list from https://github.com/pradt2/always-online-stun
45-
* Use [Short SDP](https://github.com/ntsd/sdp-compact)
46-
* QR codes for invitation and response
47-
* Change/blur background using https://ai.google.dev/edge/mediapipe/
48-
* Add chat
49-
* Add file exchange
50-
* Add E2E encryption
43+
* [x] I10n
44+
* [ ] Use [Short SDP](https://github.com/ntsd/sdp-compact)
45+
* [ ] Dynamic STUN servers list from https://github.com/pradt2/always-online-stun
46+
* [ ] QR codes for invitation and response
47+
* [ ] Change/blur background using https://ai.google.dev/edge/mediapipe/
48+
* [ ] Add chat
49+
* [ ] Add file exchange
50+
* [ ] Add E2E encryption
5151

5252
## Kudos
5353

0 commit comments

Comments
 (0)