Skip to content

Create Release

Create Release #22

Workflow file for this run

name: Create Release
on:
workflow_dispatch:
inputs:
version:
description: 'Release version Format: x.y.z-[alpha|beta|pre].n'
required: true
release_name:
description: 'Release title'
required: true
release_notes:
description: 'Release notes or changelog'
required: true
prerelease:
description: 'Is this a pre-release?'
required: false
default: false
type: boolean
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Setup patches
run: bun patches
- name: Build binaries
run: bun compile all ${{ github.event.inputs.version }}
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: binaries
path: build/bin/*
retention-days: 1 # Set to 1 day for temporary storage
release:
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: binaries
path: ./binaries
- name: Create GitHub Release
id: create_release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: v${{ github.event.inputs.version }}
name: ${{ github.event.inputs.release_name }}
body: ${{ github.event.inputs.release_notes }}
prerelease: ${{ github.event.inputs.prerelease }}
artifacts: ./binaries/*