Skip to content

Prepare release 0.1.0 #34

Prepare release 0.1.0

Prepare release 0.1.0 #34

Workflow file for this run

name: 📦 Prepare Release
run-name: Prepare release ${{ github.ref_name }}
on:
push:
tags:
- '**'
permissions:
contents: write
env:
RELEASE_TAG: ${{ github.ref_name }}
jobs:
build-macos:
name: Build macOS arm64
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: npm
- name: Install dependencies
run: npm ci
- name: Build unsigned macOS arm64 artifact
run: make package-mac-arm64 version="${RELEASE_TAG}"
- name: Upload macOS artifact
uses: actions/upload-artifact@v4
with:
name: release-macos-arm64
path: .out/forge-${{ env.RELEASE_TAG }}-mac-arm64-unsigned.zip
if-no-files-found: error
include-hidden-files: true
create-draft-release:
name: Create draft GitHub release
needs:
- build-macos
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Extract version suffix
shell: bash
run: |
if [[ "${RELEASE_TAG}" == *-* ]]; then
echo "IS_PRERELEASE=true" >> "$GITHUB_ENV"
else
echo "IS_PRERELEASE=false" >> "$GITHUB_ENV"
fi
- name: Extract release notes from changelog
shell: bash
run: ./.github/scripts/extract-release-notes.sh "${RELEASE_TAG}" > "${RUNNER_TEMP}/release-notes.md"
- name: Download release artifacts
uses: actions/download-artifact@v4
with:
path: .out/release
merge-multiple: true
- name: List release artifacts
run: find .out/release -maxdepth 1 -type f -print | sort
- name: Create draft GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.RELEASE_TAG }}
draft: true
prerelease: ${{ env.IS_PRERELEASE == 'true' }}
body_path: ${{ runner.temp }}/release-notes.md
files: .out/release/*