feat(KAN-58): add macOS actions and Hetzner release pipeline
CI/CD / preconditions (pull_request) Successful in 2s
Native JavaScript checks / Native launcher and release tests (pull_request) Successful in 57s
CI/CD / test_and_check_app (pull_request) Successful in 6m33s
CI/CD / Publish immutable image (pull_request) Skipped
macOS checks / Native Rust tests and unsigned build (pull_request) Canceled after 0s

This commit is contained in:
2026-09-27 08:08:57 +00:00
parent 2f99b8e65c
commit fcba7673c2
8 changed files with 1245 additions and 43 deletions
+58
View File
@@ -0,0 +1,58 @@
name: macOS checks
on:
push:
branches: [main]
paths: ["native/**", ".github/**", "package.json", "pnpm-lock.yaml", "eslint.config.mjs", "resources/css/app.css"]
pull_request:
paths: ["native/**", ".github/**", "package.json", "pnpm-lock.yaml", "eslint.config.mjs", "resources/css/app.css"]
workflow_dispatch:
permissions:
contents: read
jobs:
macos:
name: Native Rust tests and unsigned build
runs-on: ${{ vars.MACOS_CHECK_RUNNER || vars.MACOS_RUNNER || 'macos-arm64' }}
timeout-minutes: 45
steps:
- name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Setup pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v11.7.0
with:
package-json-file: package.json
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22
- name: Setup Rust
uses: dtolnay/rust-toolchain@02cb101ec7c40f2c49e1d9714d64511d8e1b74de
with:
toolchain: 1.98.1
components: rustfmt, clippy
- name: Install locked native dependencies
run: pnpm --dir native install --frozen-lockfile
- name: Run native tests
run: pnpm --dir native test
- name: Check Rust formatting and warnings
run: pnpm --dir native check
- name: Build unsigned macOS app without release credentials
uses: tauri-apps/tauri-action@1deb371b0cd8bd54025b384f1cd735e725c4060f # v1.0.0
with:
projectPath: native
tauriScript: pnpm exec tauri
args: --ci --debug --no-sign --bundles app -- --locked
uploadUpdaterJson: false
uploadUpdaterSignatures: false
uploadWorkflowArtifacts: false