Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions .github/workflows/desktop-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Builds the Tauri desktop installers on each platform and attaches them to a (draft) release.
# Triggered by a version tag (v*) or manually. The draft lets a human review before publishing.
name: Desktop release

on:
push:
tags: ['v*']
workflow_dispatch:
inputs:
tag:
description: 'Tag to build and attach the installers to (e.g. v0.2.0)'
required: true

permissions:
contents: write

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- platform: windows-latest # .msi + .exe (NSIS)
- platform: ubuntu-22.04 # .deb + .AppImage
- platform: macos-latest # .dmg (Apple Silicon)
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4

- name: Node
uses: actions/setup-node@v4
with:
node-version: 24

- name: Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache Rust
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri -> target

- name: Linux deps (webkit for the Tauri webview)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Frontend deps
run: npm --prefix ui ci

- name: Build + attach installers
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
projectPath: .
tagName: ${{ inputs.tag || github.ref_name }}
releaseName: Konclave ${{ inputs.tag || github.ref_name }}
releaseBody: 'Desktop installers (Windows / macOS / Linux). See the notes below.'
releaseDraft: true
prerelease: true
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Konclave",
"version": "0.1.0",
"version": "0.2.0",
"identifier": "app.konclave.desktop",
"build": {
"frontendDist": "../ui/dist",
Expand Down
1 change: 1 addition & 0 deletions ui/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ export const en: Record<string, string> = {
'landing.sub': 'A group looks after a fund **together**: create the vault, approve payments by quorum and run a private payroll. **Private outside, transparent inside.** No command line, no pasting codes, no trusting a single person.',
'landing.ctaHow': 'See how it works',
'landing.ctaVaults': 'My vaults',
'landing.ctaDownload': 'Download desktop app',
'landing.navNet': 'Devices',
'landing.navSigner': 'Sign',
'landing.navProof': 'Proof',
Expand Down
1 change: 1 addition & 0 deletions ui/src/i18n/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ export const ptBR: Record<string, string> = {
'landing.sub': 'Um grupo cuida de um fundo **junto**: cria o cofre, aprova pagamentos por quórum e faz uma folha privada. **Privado por fora, transparente por dentro.** Sem terminal, sem colar códigos, sem confiar em uma pessoa só.',
'landing.ctaHow': 'Ver como funciona',
'landing.ctaVaults': 'Meus cofres',
'landing.ctaDownload': 'Baixar app desktop',
'landing.navNet': 'Dispositivos',
'landing.navSigner': 'Assinar',
'landing.navProof': 'Prova',
Expand Down
4 changes: 4 additions & 0 deletions ui/src/screens/Intro.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ export default function Intro() {
</Link>
<Link className="lp-btn" to="/docs">{t('landing.ctaHow')}</Link>
<Link className="lp-btn" to="/vaults">{t('landing.ctaVaults')}</Link>
<a className="lp-btn" href="https://github.com/deegalabs/konclave/releases/latest" target="_blank" rel="noreferrer">
{t('landing.ctaDownload')}
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M12 3v12M7 10l5 5 5-5M5 21h14" /></svg>
</a>
</div>
<span className="trust"><i />{t('landing.heroTrust')}</span>
</div>
Expand Down
Loading