Replace ESPConnect tool card with ESP Board Vault #18
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Electron App | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version tag (e.g., v1.0.0)' | |
| required: false | |
| default: '' | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| include: | |
| # macOS Intel | |
| - os: macos-15-intel | |
| platform: darwin | |
| arch: x64 | |
| artifact_name: macos-intel | |
| # macOS ARM (Apple Silicon) | |
| - os: macos-latest | |
| platform: darwin | |
| arch: arm64 | |
| artifact_name: macos-arm64 | |
| # Windows | |
| - os: windows-latest | |
| platform: win32 | |
| arch: x64 | |
| artifact_name: windows | |
| # Linux | |
| - os: ubuntu-latest | |
| platform: linux | |
| arch: x64 | |
| artifact_name: linux | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.12.0' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build Vite application | |
| run: npm run build | |
| - name: Package web dist for release | |
| if: matrix.platform == 'linux' | |
| run: zip -r dist.zip dist | |
| - name: Upload dist artifact | |
| if: matrix.platform == 'linux' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist | |
| path: dist.zip | |
| retention-days: 5 | |
| - name: Build Electron app | |
| run: npm run make -- --arch=${{ matrix.arch }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # macOS: Upload DMG and ZIP | |
| - name: Upload macOS artifacts | |
| if: matrix.platform == 'darwin' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact_name }} | |
| path: | | |
| out/make/**/*.dmg | |
| out/make/zip/**/*.zip | |
| retention-days: 5 | |
| # Windows: Upload Squirrel installer and ZIP | |
| - name: Upload Windows artifacts | |
| if: matrix.platform == 'win32' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact_name }} | |
| path: | | |
| out/make/squirrel.windows/x64/*.exe | |
| out/make/squirrel.windows/x64/*.nupkg | |
| out/make/zip/win32/x64/*.zip | |
| retention-days: 5 | |
| # Linux: Upload DEB, RPM and ZIP | |
| - name: Upload Linux artifacts | |
| if: matrix.platform == 'linux' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact_name }} | |
| path: | | |
| out/make/deb/x64/*.deb | |
| out/make/rpm/x64/*.rpm | |
| out/make/zip/linux/x64/*.zip | |
| retention-days: 5 | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| steps: | |
| - name: Set version without v prefix | |
| id: version | |
| run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: List artifacts | |
| run: find artifacts -type f | head -50 | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: ESPConnect ${{ github.ref_name }} | |
| body: | | |
| ## ESPConnect ${{ github.ref_name }} | |
| Browser-based control center for ESP32 and ESP8266 boards - now as a standalone desktop application! | |
| ### 🎯 Features | |
| - ✅ Works completely **offline** - no internet connection required | |
| - ✅ Native Web Serial API support for all platforms | |
| - ✅ Flash firmware, manage SPIFFS/LittleFS, backup flash memory | |
| - ✅ Device info, partitions viewer, NVS Inspector, serial monitor | |
| - ✅ Community translations (Best effort) | |
| ### 📥 Downloads | |
| | Platform | Architecture | File Type | Notes | | |
| |----------|--------------|-----------|-------| | |
| | macOS | Apple Silicon (M1/M2/M3) | `.dmg` | macOS 11+ | | |
| | macOS | Intel | `.dmg` | macOS 10.13+ | | |
| | Windows | x64 | `.exe` installer | Windows 10+ | | |
| | Linux | x64 | `.deb` / `.rpm` | Ubuntu, Debian, Fedora, etc. | | |
| | Web UI | Any | `.zip` | Static `dist/` build for custom hosting | | |
| ### 📝 Installation | |
| **macOS Apple Silicon:** | |
| ```bash | |
| curl -L -O "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ESPConnect-arm64.dmg" | |
| ``` | |
| Open the DMG and drag ESPConnect to Applications. First launch: Right-click → Open (to bypass Gatekeeper). | |
| **macOS Intel:** | |
| ```bash | |
| curl -L -O "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ESPConnect-x64.dmg" | |
| ``` | |
| Open the DMG and drag ESPConnect to Applications. First launch: Right-click → Open (to bypass Gatekeeper). | |
| **Windows:** | |
| Download and run the `.exe` installer. Windows Defender may show a warning on first launch - click "More info" → "Run anyway". | |
| **Linux (Debian/Ubuntu):** | |
| ```bash | |
| sudo dpkg -i espconnect_${{ steps.version.outputs.VERSION }}_amd64.deb | |
| ``` | |
| **Linux (Fedora/RHEL):** | |
| ```bash | |
| sudo rpm -i espconnect-${{ steps.version.outputs.VERSION }}.x86_64.rpm | |
| ``` | |
| **Web UI (static files):** | |
| ```bash | |
| curl -L -o dist.zip "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/dist.zip" | |
| unzip dist.zip -d dist | |
| ``` | |
| Serve the dist/ Folder, you may use any of the following options: | |
| > Option A — Node “serve” | |
| ```bash | |
| cd dist | |
| npx serve . | |
| ``` | |
| > Option B — Python 3 | |
| ```bash | |
| cd dist | |
| python -m http.server 8080 | |
| ``` | |
| ### 🔌 USB Serial Permissions (Linux) | |
| Add your user to the `dialout` group: | |
| ```bash | |
| sudo usermod -a -G dialout $USER | |
| ``` | |
| Then log out and back in. | |
| draft: false | |
| prerelease: false | |
| files: | | |
| artifacts/**/*.dmg | |
| artifacts/**/*.exe | |
| artifacts/**/*.deb | |
| artifacts/**/*.rpm | |
| artifacts/dist/dist.zip | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |