Files
automaker/.github/workflows/release.yml
Cody Seibert ac5b562f7a feat(protection): implement multi-layered protection for feature_list.json
Introduces a comprehensive strategy to safeguard the feature_list.json file from accidental modifications. Key enhancements include:

1. **Prompt-Level Warnings**: Added explicit warnings in agent prompts to prevent direct modifications.
2. **Dedicated MCP Tool**: Implemented the UpdateFeatureStatus tool for safe feature updates.
3. **File-Level Validation & Auto-Backup**: Added validation checks and automatic backups before modifications to prevent data loss.
4. **Tool Access Control**: Restricted agent access to critical tools, ensuring only the designated MCP tool can modify the feature list.

This update significantly reduces the risk of catastrophic data loss and ensures a robust feature management process.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-09 19:47:10 -05:00

83 lines
2.1 KiB
YAML

name: Build and Release Electron App
on:
push:
tags:
- 'v*.*.*' # Triggers on version tags like v1.0.0
workflow_dispatch: # Allows manual triggering
inputs:
version:
description: 'Version to release (e.g., v1.0.0)'
required: true
default: 'v0.1.0'
jobs:
build-and-release:
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
name: macOS
- os: windows-latest
name: Windows
- os: ubuntu-latest
name: Linux
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: app/package-lock.json
- name: Install dependencies
working-directory: ./app
run: npm ci
- name: Build Electron App (macOS)
if: matrix.os == 'macos-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --mac --x64 --arm64
- name: Build Electron App (Windows)
if: matrix.os == 'windows-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --win --x64
- name: Build Electron App (Linux)
if: matrix.os == 'ubuntu-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --linux --x64
- name: Upload Release Assets
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.inputs.version || github.ref_name }}
files: |
app/dist/*.exe
app/dist/*.dmg
app/dist/*.AppImage
app/dist/*.zip
app/dist/*.deb
app/dist/*.rpm
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}