Skip to content

Create Release

Create Release #4

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: Test code
run: bun test
- name: Build Nuxt application
run: bun run build
- name: Create Archive of .output
run: |
tar -czf app.tar.gz .output
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: app.tar.gz
path: .
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: app.tar.gz
path: ./app.tar.gz
- 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: ./app.tar.gz