Files
materialious/.github/workflows/prod-desktop.yml
T
WardPearce 50e0cc467c Use npm ci
2026-02-15 06:38:02 +13:00

80 lines
2.5 KiB
YAML

name: Build desktop
on:
push:
branches: [main]
paths-ignore:
- "**/*.md"
- "./fastline/**"
- "./materialious/src/lib/i18n/**"
workflow_dispatch:
permissions:
contents: write
jobs:
desktop-build:
strategy:
matrix:
node-version: [latest]
runtime:
- linux-x64
- win-x64
- osx-x64
include:
- runtime: linux-x64
os: ubuntu-latest
- runtime: osx-x64
os: macOS-latest
- runtime: win-x64
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install modules
run: cd ./materialious && npm ci
- name: Build package
run: cd ./materialious && npm run build && npm prune --omit=dev
- name: Sync electron package
run: cd ./materialious && npx cap sync @capacitor-community/electron
- name: Patch capacitor plugin
run: cd ./materialious/electron && python patch_capacitor_plugin.py
- name: Install electron modules
run: cd ./materialious/electron && npm ci
- name: Set up environment variables
run: echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
shell: bash
if: runner.os != 'Windows'
- name: Set up environment variables
run: echo GH_TOKEN=${{ secrets.GITHUB_TOKEN }} >> $env:GITHUB_ENV
shell: powershell
if: runner.os == 'Windows'
- name: Install snapcraft
if: matrix.runtime == 'linux-x64' || matrix.runtime == 'linux-arm64'
run: sudo snap install snapcraft --classic
- name: Set up snapcraft environment variables
run: echo "SNAPCRAFT_STORE_CREDENTIALS=${{ secrets.SNAPCRAFT_LOGIN }}" >> $GITHUB_ENV
shell: bash
if: matrix.runtime == 'linux-x64' || matrix.runtime == 'linux-arm64'
- name: Build desktop packages
run: cd ./materialious/electron && npm run electron:make