Skip to content

Update issue templates (#72) #7

Update issue templates (#72)

Update issue templates (#72) #7

Workflow file for this run

name: Loopi Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
build-windows:
name: Build Windows packages
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Enable Corepack and install pnpm
run: |
corepack enable
corepack prepare pnpm@latest --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Build Windows packages
run: pnpm run make
- name: Upload Windows artifacts
uses: actions/upload-artifact@v4
with:
name: dist-windows
path: |
out/**
dist/**
build-linux:
name: Build Linux packages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Enable Corepack and install pnpm
run: |
corepack enable
corepack prepare pnpm@latest --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Build Linux packages
run: pnpm run make
- name: Upload Linux artifacts
uses: actions/upload-artifact@v4
with:
name: dist-linux
path: |
out/**
dist/**
create_release:
name: Create GitHub Release with all artifacts
runs-on: ubuntu-latest
needs: [build-windows, build-linux]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Windows artifacts
uses: actions/download-artifact@v4
with:
name: dist-windows
path: artifacts/windows
- name: Download Linux artifacts
uses: actions/download-artifact@v4
with:
name: dist-linux
path: artifacts/linux
- name: List and calculate file sizes
run: |
echo "=== Windows Artifacts ==="
find artifacts/windows -type f -name "*.exe" | sort
echo "=== Linux Artifacts ==="
find artifacts/linux -type f -name "*.deb" | sort
- name: Generate Release Notes with Dynamic File Sizes
run: |
# Function to format file size
format_size() {
local size=$1
if (( size < 1024 )); then
echo "${size} B"
elif (( size < 1048576 )); then
echo "$(( size / 1024 )) KB"
else
echo "$(( size / 1048576 )) MB"
fi
}
# Get Windows exe size
WIN_EXE=$(find artifacts/windows -type f -name "*.exe" -printf '%s' | head -1)
WIN_SIZE=$(format_size $WIN_EXE)
# Get Linux deb size
LINUX_DEB=$(find artifacts/linux -type f -name "*.deb" -printf '%s' | head -1)
LINUX_SIZE=$(format_size $LINUX_DEB)
cat > release_notes.md << EOF
# Loopi ${{ github.ref_name }}
Download the installer for your operating system below.
## 🪟 Windows (Windows 10 or later, 64-bit)
- **Installer (.exe)** - ${WIN_SIZE} - Recommended for most users
## 🐧 Linux (Ubuntu 20.04+, Debian 11+, or equivalent)
- **Debian Package (.deb)** - ${LINUX_SIZE} - For Ubuntu, Debian, and derivatives
## 📋 System Requirements
### Windows
- Windows 10 or later (64-bit)
- 4 GB RAM minimum
- 500 MB free disk space
### Linux
- Ubuntu 20.04+, Debian 11+, or equivalent
- 4 GB RAM minimum
- 500 MB free disk space
## 🚀 Getting Started
1. Download the installer for your operating system
2. Run the installer and follow the setup wizard
3. Launch Loopi and create your first automation
## 📖 Documentation
- [README](https://github.com/Dyan-Dev/loopi/tree/feature/docs)
- [Getting Started Guide](https://github.com/Dyan-Dev/loopi/blob/feature/docs/GETTING_STARTED.md)
- [Variable System](https://github.com/Dyan-Dev/loopi/blob/feature/docs/VARIABLES.md)
- [Architecture](https://github.com/Dyan-Dev/loopi/blob/feature/docs/ARCHITECTURE.md)
## 🐛 Bug Reports
Found a bug? Please [open an issue](https://github.com/Dyan-Dev/loopi/issues) with:
- Your operating system and version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots/logs if applicable
## 💬 Support
For questions or support, please:
- Check [existing issues](https://github.com/Dyan-Dev/loopi/issues)
- Email: support@dyan.live
---
Thank you for using Loopi! 🎉
EOF
echo "Release notes generated"
- name: Create GitHub Release and upload assets
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.ref_name }}
name: Loopi ${{ github.ref_name }}
body_path: release_notes.md
draft: false
files: |
artifacts/windows/out/**/*.exe
artifacts/linux/out/**/*.deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}