Skip to content

Merge pull request #203 from JairusSW/jairus/v1.5.0-prep #12

Merge pull request #203 from JairusSW/jairus/v1.5.0-prep

Merge pull request #203 from JairusSW/jairus/v1.5.0-prep #12

Workflow file for this run

name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
packages: write
jobs:
# Run tests before release
test:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v6
- name: Install Wasmtime
run: |
curl https://wasmtime.dev/install.sh -sSf | bash
echo "$HOME/.wasmtime/bin" >> $GITHUB_PATH
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install Dependencies
run: bun install
- name: TypeScript Type Check
run: bun run typecheck
- name: Lint
run: bun run lint
- name: Build Transform
run: bun run build:transform
- name: Run Tests
run: bun run test:ci
# Create GitHub Release
release:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout the repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install Dependencies
run: bun install
- name: Build Transform
run: bun run build:transform
- name: Generate Release Notes
id: changelog
run: |
# Get the previous tag
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
if [ -z "$PREV_TAG" ]; then
# First release - get all commits
COMMITS=$(git log --pretty=format:"- %s (%h)" --no-merges)
else
# Get commits since last tag
COMMITS=$(git log ${PREV_TAG}..HEAD --pretty=format:"- %s (%h)" --no-merges)
fi
# Write to file for the release
echo "## Changes" > RELEASE_NOTES.md
echo "" >> RELEASE_NOTES.md
echo "$COMMITS" >> RELEASE_NOTES.md
- name: Create GitHub Release
uses: softprops/action-gh-release@v3
with:
body_path: RELEASE_NOTES.md
draft: false
prerelease: ${{ contains(github.ref, '-alpha') || contains(github.ref, '-beta') || contains(github.ref, '-rc') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}