Skip to content

๐ŸŽ‰ Set release date #83

๐ŸŽ‰ Set release date

๐ŸŽ‰ Set release date #83

Workflow file for this run

# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
# SPDX-License-Identifier: CC0-1.0
name: Deploy
on:
push:
tags:
- '**'
permissions:
contents: write
jobs:
linux:
name: Linux
strategy:
matrix:
os: [ubuntu-24.04, ubuntu-24.04-arm]
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 #v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 #v4.4.0
with:
node-version-file: .node-version
- name: Install Dependencies
run: |
sudo apt install libx11-dev libxtst-dev libwayland-dev libxkbcommon-dev
npm install
- name: Fix Permissions
# Workaround for https://github.com/electron/electron/issues/17972
run: |
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
sudo chown root node_modules/electron/dist/chrome-sandbox
- name: Create Packages
run: |
npm run make
- name: Create AppImage
run: |
tools/make-app-image.sh
- name: Upload Packages
uses: svenstaro/upload-release-action@2.9.0
with:
file: out/make/**/*
tag: ${{ github.ref }}
file_glob: true
prerelease: true
windows:
name: Windows
strategy:
matrix:
os: [windows-2022, windows-11-arm]
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 #v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 #v4.4.0
with:
node-version-file: .node-version
- name: Install Dependencies
run: |
npm install
- name: Create Release
run: |
npm run make
- name: Rename Executables
shell: pwsh
env:
MATRIX_OS: ${{ matrix.os }}
run: |
if ($env:MATRIX_OS -eq "windows-2022") {
Get-ChildItem -Path out/make/squirrel.windows/*/*.exe | Rename-Item -NewName { $_.BaseName + "-x64" + $_.Extension }
} elseif ($env:MATRIX_OS -eq "windows-11-arm") {
Get-ChildItem -Path out/make/squirrel.windows/*/*.exe | Rename-Item -NewName { $_.BaseName + "-arm64" + $_.Extension }
}
- name: Upload Unsigned Artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 #v4
with:
name: build-${{ matrix.os }}-unsigned
path: |
out/make/zip/win32/*/*
out/make/squirrel.windows/*/*.exe
retention-days: 7
- name: Sign with SignPath
uses: signpath/github-action-submit-signing-request@v1
with:
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
organization-id: '4e74932d-7987-4337-9219-893ea21bd691'
project-slug: 'kando'
signing-policy-slug: 'release-signing '
github-artifact-id: '${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}'
wait-for-completion: true
output-artifact-directory: 'out/make/signed'
- name: Upload Zip
uses: svenstaro/upload-release-action@2.9.0
with:
file: out/make/signed/**/*.zip
tag: ${{ github.ref }}
file_glob: true
prerelease: true
- name: Upload Squirrel Installer
uses: svenstaro/upload-release-action@2.9.0
with:
file: out/make/signed/**/*.exe
tag: ${{ github.ref }}
file_glob: true
prerelease: true
macos:
name: macOS
strategy:
matrix:
os: [macos-15, macos-15-intel]
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
# https://github.com/electron/forge/issues/2807
- run: python3 -m pip install setuptools --break-system-packages
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 #v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 #v4.4.0
with:
node-version-file: .node-version
- name: Install Dependencies
run: |
npm install
npm install appdmg
- 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
- name: Upload DMG
uses: svenstaro/upload-release-action@2.9.0
with:
file: out/make/*.dmg
tag: ${{ github.ref }}
file_glob: true
prerelease: true
- name: Upload Zip
uses: svenstaro/upload-release-action@2.9.0
with:
file: out/make/zip/darwin/**/*.zip
tag: ${{ github.ref }}
file_glob: true
prerelease: true