Skip to content

📝 Add YouTube link #25

📝 Add YouTube link

📝 Add YouTube link #25

Workflow file for this run

# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
# SPDX-License-Identifier: CC0-1.0
name: Deploy
on:
push:
tags:
- '**'
jobs:
linux:
name: Deploy for Linux
runs-on: ubuntu-20.04
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Dependencies
run: |
sudo apt install libx11-dev libxtst-dev libwayland-dev libxkbcommon-dev
npm ci
- name: Create Release
run: |
npm run make
- name: Upload Packages
uses: svenstaro/upload-release-action@v2
with:
file: out/make/**/x64/*
tag: ${{ github.ref }}
file_glob: true
windows:
name: Deploy for Windows
runs-on: windows-2019
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Dependencies
# A simple npm install should be sufficient, but for some reason cmake.js
# sometimes skips the build step in CI on Windows in this case. So we install
# and execute cmake.js manually.
run: |
npm install cmake-js -g
npx cmake-js install
npm install
- name: Create Release
run: |
npm run make
- name: Upload Zip
uses: svenstaro/upload-release-action@v2
with:
file: out/make/zip/win32/x64/*
tag: ${{ github.ref }}
file_glob: true
- name: Upload Squirrel Installer
uses: svenstaro/upload-release-action@v2
with:
file: out/make/squirrel.windows/x64/*.exe
tag: ${{ github.ref }}
file_glob: true
macos:
name: Deploy for macOS
runs-on: macos-11
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- # macOS: appears to fix https://github.com/electron/forge/issues/2807
name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Dependencies
run: |
npm ci
- name: Add macOS certificates
env:
OSX_CERTIFICATE: ${{ secrets.OSX_CERTIFICATE }}
OSX_CERTIFICATE_PASSWORD: ${{ secrets.OSX_CERTIFICATE_PASSWORD }}
run: |
.github/osx_certificates.sh
- name: Create Release
env:
KANDO_OSX_SIGN: true
KANDO_OSX_NOTARIZE: true
OSX_APP_SPECIFIC_ID: ${{ secrets.OSX_APP_SPECIFIC_ID }}
OSX_APP_SPECIFIC_PASSWORD: ${{ secrets.OSX_APP_SPECIFIC_PASSWORD }}
OSX_TEAM_ID: ${{ secrets.OSX_TEAM_ID }}
run: |
npm run make -- --arch=x64
npm run make -- --arch=arm64
- name: Upload DMG
uses: svenstaro/upload-release-action@v2
with:
file: out/make/*.dmg
tag: ${{ github.ref }}
file_glob: true
- name: Upload Zip
uses: svenstaro/upload-release-action@v2
with:
file: out/make/zip/darwin/**/*.zip
tag: ${{ github.ref }}
file_glob: true