Pake Action

Call Pake from your own GitHub Actions workflow to turn any webpage into a lightweight desktop app in a single step. To build online without writing a workflow, see GitHub Actions Usage.

Quick Start

- name: Build Pake App
  uses: tw93/Pake@v3
  with:
    url: "https://example.com"
    name: "MyApp"

Inputs

ParameterDescriptionRequiredDefault
urlTarget URL to package✅
nameApplication name✅
output-dirOutput directorydist
iconCustom app icon URL/path
widthWindow width1200
heightWindow height780
debugEnable debug modefalse

Outputs

OutputDescription
package-pathPath to the generated package

Examples

Basic Usage

name: Build Web App
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: tw93/Pake@v3
        with:
          url: "https://weekly.tw93.fun"
          name: "WeeklyApp"

With Custom Icon

- uses: tw93/Pake@v3
  with:
    url: "https://example.com"
    name: "MyApp"
    icon: "https://example.com/icon.png"
    width: 1400
    height: 900

Multi-Platform Build

jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: tw93/Pake@v3
        with:
          url: "https://example.com"
          name: "CrossPlatformApp"

How It Works

  1. Auto Setup: Installs Rust, Node.js dependencies, builds Pake CLI
  2. Build App: Runs pake command with your parameters
  3. Package Output: Finds and moves the generated package to output directory

Supported Platforms

  • Linux: .deb package, or .rpm / .AppImage when that is the one that built (Ubuntu runners)
  • macOS: .app bundle (macOS runners)
  • Windows: .msi installer (Windows runners)

Each run moves the one package the CLI wrote during that run into the output directory and reports it as package-path; when two packages of the same format turn up, the step fails instead of guessing. Use GitHub's matrix strategy to build for multiple platforms simultaneously.