Skip to content

feat: initial project setup with nostr proxy cli implementation #1

feat: initial project setup with nostr proxy cli implementation

feat: initial project setup with nostr proxy cli implementation #1

Workflow file for this run

name: Build and Release
on:
push:
tags:
- 'v*'
jobs:
build:
name: Build Binaries
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Deno
uses: denoland/setup-deno@v1
with:
deno-version: '2.4.1'
- name: Get version from tag
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Build binaries
run: |
# Ensure dist directory exists
mkdir -p dist
# Build all platforms
deno task compile:linux
deno task compile:macos
deno task compile:windows
- name: Rename binaries with version info
run: |
cd dist
mv ctxproxy-linux ctxproxy-linux-${{ env.VERSION }}
mv ctxproxy-macos ctxproxy-macos-${{ env.VERSION }}
mv ctxproxy-windows.exe ctxproxy-windows-${{ env.VERSION }}.exe
- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v1
with:
name: ctxproxy v${{ env.VERSION }}
draft: false
prerelease: false
token: ${{ secrets.GITHUB_TOKEN }}
body: |
## ctxproxy v${{ env.VERSION }}
### Changes in this release
- See the [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) for details
### Installation
Download the appropriate binary for your system and make it executable:
#### Linux
```bash
chmod +x ctxproxy-linux-${{ env.VERSION }}
./ctxproxy-linux-${{ env.VERSION }}
```
#### macOS
```bash
chmod +x ctxproxy-macos-${{ env.VERSION }}
./ctxproxy-macos-${{ env.VERSION }}
```
#### Windows
Double-click the executable or run from command line:
```
ctxproxy-windows-${{ env.VERSION }}.exe
```
files: |
dist/ctxproxy-linux-${{ env.VERSION }}
dist/ctxproxy-macos-${{ env.VERSION }}
dist/ctxproxy-windows-${{ env.VERSION }}.exe
- name: Output Release URL
run: echo "Release URL -> ${{ steps.create_release.outputs.url }}"