Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e3df81b
ci: improve robustness and move away from tauri action
InkedCat Sep 9, 2025
d1d9bab
chore: break down linting scripts
InkedCat Sep 9, 2025
a896776
chore: fall back to three 179 for postprocessing
InkedCat Sep 9, 2025
4ca51dc
ci: remove skippable build step
InkedCat Sep 9, 2025
4a09d3c
chore: move license-check script
InkedCat Sep 10, 2025
b3239d5
ci: add missing env variable
InkedCat Sep 12, 2025
c4cdd6f
release wip
InkedCat Sep 13, 2025
34ff410
ci: update test command
InkedCat Sep 13, 2025
3751a13
ci: update environment variable name
InkedCat Sep 13, 2025
1a80c70
ci: add Microsoft client ID to build environment
InkedCat Sep 13, 2025
6b2b747
wip release
InkedCat Sep 13, 2025
192e19f
release wip
InkedCat Sep 13, 2025
c517328
wip release
InkedCat Sep 13, 2025
c4d8222
wip release
InkedCat Sep 15, 2025
1d20b97
wip release
InkedCat Sep 15, 2025
54ab3b9
wip release
InkedCat Sep 18, 2025
aa54d7b
wip release
InkedCat Sep 20, 2025
7d8ffb9
wip release
InkedCat Sep 20, 2025
9a6f30b
wip release
InkedCat Sep 20, 2025
af81494
wip release
InkedCat Sep 20, 2025
5ff6be7
wip release
InkedCat Sep 20, 2025
3f24e9a
wip release
InkedCat Sep 20, 2025
8372000
wip release
InkedCat Sep 20, 2025
1d402c1
wip release
InkedCat Sep 21, 2025
3e10d7b
chore: update deps
InkedCat Sep 21, 2025
caa6c2b
chore(tauri): scope bundling
InkedCat Sep 21, 2025
6c82902
chore(tauri): enforce csp rules
InkedCat Sep 21, 2025
f50e444
ci: bundle dmg for macOS
InkedCat Sep 21, 2025
8d64246
feat: bump versions
InkedCat Sep 21, 2025
07fef2b
chore(tauri): add dmg packaging for macOS
InkedCat Sep 21, 2025
9a3e5b9
ci: fix workflow trigger
InkedCat Sep 22, 2025
8a3ff87
ci: remove unused permissions
InkedCat Sep 22, 2025
d2e4338
ci: default permissions
InkedCat Sep 22, 2025
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
23 changes: 15 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ name: VaultLauncher CI

on:
pull_request:
push:
branches: [ main, next ]

env:
CARGO_TERM_COLOR: always
Expand All @@ -10,6 +12,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
ci:
name: Tauri CI
Expand Down Expand Up @@ -38,6 +44,7 @@ jobs:
- name: Setup Rust cache
uses: swatinem/rust-cache@v2
with:
cache-on-failure: true
workspaces: './src-tauri -> target'

- name: Install pnpm
Expand All @@ -47,7 +54,7 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
cache: pnpm

- name: Install Frontend dependencies
run: pnpm install --frozen-lockfile
Expand All @@ -58,19 +65,19 @@ jobs:
- name: Check Svelte & Types
run: pnpm run check

- name: Check Frontend Formatting
run: pnpm run format:check

- name: Lint Frontend
run: pnpm run lint

- name: Install Linux dependencies
if: matrix.platform == 'ubuntu-24.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev

- name: Test VaultLauncher App
uses: tauri-apps/tauri-action@v0
- name: Test VaultLauncher Backend
run: cd src-tauri && cargo test
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MICROSOFT_CLIENT_ID: 'testing'
with:
args: ${{ matrix.args }}
MICROSOFT_CLIENT_ID: ${{ secrets.MICROSOFT_APP_ID }}
140 changes: 140 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: VaultLauncher CD

on:
push:
branches: [ main, next ]

permissions:
contents: read
pull-requests: read

env:
CARGO_TERM_COLOR: always

jobs:
build:
name: Build
strategy:
fail-fast: false
matrix:
include:
- platform: 'macos-15' # for Arm based macs (M1 and above).
args: '--target aarch64-apple-darwin'
arch: 'aarch64-apple-darwin'
- platform: 'macos-15' # for Intel based macs.
args: '--target x86_64-apple-darwin'
arch: 'x86_64-apple-darwin'
- platform: 'ubuntu-24.04'
args: ''
arch: ''
- platform: 'windows-2022'
args: ''
arch: ''
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout source code
uses: actions/checkout@v5

- name: Setup Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.platform == 'macos-15' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}

- name: Setup Rust cache
uses: swatinem/rust-cache@v2
with:
cache-on-failure: true
workspaces: './src-tauri -> target'

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js 24
uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm

- name: Install Frontend dependencies
run: pnpm install --frozen-lockfile

- name: Install Linux dependencies
if: matrix.platform == 'ubuntu-24.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev

- name: Build VaultLauncher App
uses: tauri-apps/tauri-action@v0
env:
MICROSOFT_CLIENT_ID: ${{ secrets.MICROSOFT_APP_ID }}
with:
args: ${{ matrix.args }}

- name: Upload Windows Artifacts
uses: actions/upload-artifact@v4
if: matrix.platform == 'windows-2022'
with:
name: "${{ github.run_id }}-VaultLauncher-${{ matrix.platform }}"
path: src-tauri/target/release/bundle/nsis

- name: Upload Linux Artifacts
uses: actions/upload-artifact@v4
if: matrix.platform == 'ubuntu-24.04'
with:
name: "${{ github.run_id }}-VaultLauncher-${{ matrix.platform }}"
path: src-tauri/target/release/bundle/appimage/*.AppImage

- name: Upload macOS Artifacts
uses: actions/upload-artifact@v4
if: matrix.platform == 'macos-15'
with:
name: "${{ github.run_id }}-VaultLauncher-${{ matrix.platform }}-${{ matrix.args }}"
path: |
src-tauri/target/${{ matrix.arch }}/release/bundle/macos
src-tauri/target/${{ matrix.arch }}/release/bundle/dmg

release:
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
name: Release
needs: build
runs-on: ubuntu-24.04
steps:
- name : Checkout source code
uses: actions/checkout@v5

- uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}

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

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js 24
uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: ./bundles
pattern: "${{ github.run_id }}-VaultLauncher-*"

- name: Create Release
run: pnpm semantic-release
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}

1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
37 changes: 37 additions & 0 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"release": {
"branches": [
"main",
{
"name": "next",
"prerelease": true
}
]
},
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/exec",
{
"prepareCmd": "cargo set-version ${nextRelease.version}"
}
],
"@semantic-release/git",
[
"@semantic-release/github",
{
"assets": [
"artifacts/**"
]
}
]
]
}
68 changes: 43 additions & 25 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
"name": "vault-launcher",
"private": true,
"version": "0.1.0",
"author": {
"name": "InkedCat"
},
"repository": {
"type": "git",
"url": "git+https://github.com/InkedCat/Vault-Launcher.git"
},
"description": "",
"type": "module",
"scripts": {
Expand All @@ -12,69 +19,80 @@
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"format": "prettier --write .",
"lint": "prettier --check . && eslint .",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"tauri": "tauri",
"list-licenses": "pnpm list -r --depth Infinity --long --json | node ./licenses-check.mjs",
"check-licenses": "pnpm list -r --depth Infinity --long --json | node ./licenses-check.mjs check",
"check-licenses:unknown": "pnpm list -r --depth Infinity --long --json | node ./licenses-check.mjs check --unknown",
"list-licenses": "pnpm list -r --depth Infinity --long --json | node ./scripts/licenses-check.mjs",
"check-licenses": "pnpm list -r --depth Infinity --long --json | node ./scripts/licenses-check.mjs check",
"check-licenses:unknown": "pnpm list -r --depth Infinity --long --json | node ./scripts/licenses-check.mjs check --unknown",
"machine-translate": "inlang machine translate --project project.inlang"
},
"license": "GPL-3.0-only",
"dependencies": {
"@inlang/paraglide-js": "2.2.0",
"@inlang/paraglide-js": "2.3.2",
"@tauri-apps/api": "^2.8.0",
"@tauri-apps/plugin-deep-link": "~2.4.3",
"@tauri-apps/plugin-opener": "^2.5.0",
"@threlte/core": "^8.1.5",
"@threlte/extras": "^9.5.2",
"@threlte/studio": "^0.1.8",
"@threlte/extras": "^9.5.4",
"@threlte/studio": "^0.1.9",
"@types/three": "^0.180.0",
"formsnap": "^2.0.1",
"paneforge": "1.0.2",
"postprocessing": "^6.37.7",
"postprocessing": "^6.37.8",
"svelte-sonner": "^1.0.5",
"three": "^0.180.0"
"three": "0.180.0"
},
"devDependencies": {
"@eslint/compat": "^1.3.2",
"@eslint/js": "^9.34.0",
"@eslint/js": "^9.36.0",
"@inlang/cli": "^3.0.12",
"@internationalized/date": "^3.9.0",
"@lucide/svelte": "^0.542.0",
"@lucide/svelte": "^0.544.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.6",
"@semantic-release/release-notes-generator": "^14.1.0",
"@sveltejs/adapter-static": "^3.0.9",
"@sveltejs/kit": "^2.37.0",
"@sveltejs/vite-plugin-svelte": "^6.1.4",
"@tailwindcss/vite": "^4.1.12",
"@sveltejs/kit": "^2.42.2",
"@sveltejs/vite-plugin-svelte": "^6.2.0",
"@tailwindcss/vite": "^4.1.13",
"@tanstack/table-core": "^8.21.3",
"@tauri-apps/cli": "^2.8.4",
"@types/node": "^24.3.0",
"bits-ui": "^2.9.6",
"@types/node": "^24.5.2",
"bits-ui": "^2.11.0",
"clsx": "^2.1.1",
"embla-carousel-svelte": "^8.6.0",
"eslint": "^9.34.0",
"eslint": "^9.36.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-svelte": "^3.12.2",
"globals": "^16.3.0",
"eslint-plugin-svelte": "^3.12.4",
"globals": "^16.4.0",
"layerchart": "2.0.0-next.27",
"lucide-svelte": "^0.542.0",
"lucide-svelte": "^0.544.0",
"mode-watcher": "^1.1.0",
"prettier": "^3.6.2",
"prettier-plugin-svelte": "^3.4.0",
"prettier-plugin-tailwindcss": "^0.6.14",
"svelte": "^5.38.6",
"semantic-release": "^24.2.9",
"svelte": "^5.39.3",
"svelte-check": "^4.3.1",
"sveltekit-superforms": "^2.27.1",
"tailwind-merge": "^3.3.1",
"tailwind-variants": "^3.1.0",
"tailwindcss": "^4.1.12",
"tailwind-variants": "^3.1.1",
"tailwindcss": "^4.1.13",
"tw-animate-css": "^1.3.8",
"typescript": "~5.9.2",
"typescript-eslint": "^8.42.0",
"typescript-eslint": "^8.44.0",
"vaul-svelte": "1.0.0-next.7",
"vite": "^7.1.4",
"vite": "^7.1.6",
"vite-plugin-devtools-json": "^1.0.0"
},
"engines": {
"node": ">=24",
"pnpm": ">=10"
},
"pnpm": {
"onlyBuiltDependencies": [
"@parcel/watcher",
Expand Down
Loading
Loading