Skip to content

fix: include tray icon in bundle and enable template mode for macOS [… #9

fix: include tray icon in bundle and enable template mode for macOS […

fix: include tray icon in bundle and enable template mode for macOS [… #9

Workflow file for this run

name: Build and Release Agent Tunnel
on:
push:
branches:
- main
permissions:
contents: write
jobs:
release:
if: contains(github.event.head_commit.message, '[RELEASE]')
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
platform: macos
- os: ubuntu-latest
platform: linux
- os: windows-latest
platform: windows
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
cache-dependency-path: gemini-bridge/package.json
- name: Install System Dependencies (Linux)
if: matrix.platform == 'linux'
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y rpm libarchive-tools
- name: Install Project Dependencies
shell: bash
run: |
cd gemini-bridge
npm install
- name: Build Frontend
shell: bash
run: |
cd gemini-bridge
npm run build:frontend
- name: Build Electron App
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd gemini-bridge
# Para Linux construimos deb, rpm y AppImage en amd64 y arm64
if [ "${{ matrix.platform }}" == "linux" ]; then
npx electron-builder --linux deb rpm AppImage --x64 --arm64
# Para macOS construimos universal (Intel + Apple Silicon)
elif [ "${{ matrix.platform }}" == "macos" ]; then
npx electron-builder --mac --universal
# Para Windows construimos x64 y arm64
else
npx electron-builder --win --x64 --arm64
fi
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.platform }}
path: |
gemini-bridge/dist-app/*.deb
gemini-bridge/dist-app/*.rpm
gemini-bridge/dist-app/*.dmg
gemini-bridge/dist-app/*.AppImage
gemini-bridge/dist-app/*.exe
gemini-bridge/dist-app/*.zip
if-no-files-found: error
publish:
needs: release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ github.run_number }}
name: Release v${{ github.run_number }}
draft: false
prerelease: false
files: artifacts/*