Skip to content

chore: changelog

chore: changelog #49

Workflow file for this run

name: Create Release
on:
push:
tags:
- 'v*.*.*'
permissions:
contents: write
jobs:
build-and-release:
runs-on: ubuntu-latest
env:
TURBO_FORCE: true
TURBO_API_URL: https://api.vercel.com/v5/artifacts
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
steps:
- uses: actions/checkout@v4
- name: Get latest tag from GitHub API
id: get_latest_tag
run: |
TAG_NAME=$(curl -sL "https://api.github.com/repos/francyfox/BunSqStat/tags" | jq -r '.[0].name')
echo "LATEST_TAG=$TAG_NAME" >> $GITHUB_ENV
- name: Cache Turbo and dependencies
uses: actions/cache@v4
with:
path: |
.turbo
**/node_modules
key: ${{ runner.os }}-turbo-node-${{ hashFiles('**/package.json', '**/bun.lock') }}
restore-keys: |
${{ runner.os }}-turbo-node-
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install and build
run: |
cd apps/web && bun i
cd ../server && bun i
cd ..
bun i
bunx turbo run server#build
bunx turbo run web#build
- name: Build server binary
run: |
cd apps/server
bun run build:binary
- name: Prepare releases directory
run: |
mkdir -p releases/web
mkdir -p releases/backend
mkdir -p releases/docs
cp .env.example releases/
cp LICENSE releases/LICENSE
cp README.md releases/README.md
if [ -d apps/web/dist ]; then cp -r apps/web/dist/* releases/web/; fi
if [ -d apps/server/dist ]; then cp -r apps/server/dist/* releases/backend/; fi
if [ -f apps/server/bunsqstat-backend-binary ]; then cp apps/server/bunsqstat-backend-binary releases/backend/; fi
- name: Archive
run: |
zip -r bunsqstat.zip releases
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.LATEST_TAG }}
name: Release ${{ env.LATEST_TAG }}
files: |
bunsqstat.zip