Commit graph

14 commits

Author SHA1 Message Date
Peter Steinberger
7386f2a01e stop requesting password on CI 2025-06-19 02:18:38 +02:00
Peter Steinberger
83a4bf0f75
fix: apply formatters to pass CI checks (#19) 2025-06-19 01:39:27 +02:00
blacksmith-sh[bot]
4fa31c1717
Migrate workflows to Blacksmith (#17)
Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
2025-06-18 19:35:22 +02:00
Peter Steinberger
6a8f472832 feat: adopt Blacksmith CI runners and comprehensive updates
- Migrate GitHub Actions to Blacksmith runners for faster CI
  - Update ubuntu-latest to blacksmith-4vcpu-ubuntu-2404
  - Update actions/setup-node@v4 to useblacksmith/setup-node@v5
  - Update Swatinem/rust-cache@v2 to useblacksmith/rust-cache@v3

- Fix all linting warnings across all platforms
  - TypeScript: Fix any type warnings with proper type annotations
  - Rust: All clippy warnings resolved
  - Swift: Fix SwiftLint violations and format code

- Update all dependencies to latest versions
  - npm: Major updates including Express 5 compatibility fixes
  - Rust: Update 7 crates to latest compatible versions
  - Swift: Dependencies already up-to-date

- Add comprehensive test suite using Vitest
  - API endpoint tests for session CRUD operations
  - WebSocket connection and streaming tests
  - Session management lifecycle tests
  - Frontend component tests (terminal, session-list)
  - Critical functionality tests covering core features
  - Test infrastructure with proper mocking and utilities

- All tests passing, ready for production use
2025-06-18 19:10:03 +02:00
Peter Steinberger
ea517dbf49 ci: update Swift workflow to use Xcode 16.4
- Update DEVELOPER_DIR environment variable to Xcode 16.4
- Update xcode-select commands to use Xcode 16.4
- Keep using macos-15 runner which should have Xcode 16.4 available
2025-06-18 19:02:12 +02:00
Peter Steinberger
25d5bc5232 Fix CI: Convert reusable workflows to use workflow_call trigger
- Changed swift.yml, rust.yml, and node.yml from direct triggers to workflow_call
- This fixes the workflow configuration error causing immediate CI failures
- Reusable workflows must use workflow_call when invoked by other workflows
2025-06-18 13:00:17 +02:00
Peter Steinberger
a4b936817f Fix Swift CI hanging issues
- Use explicit Xcode 16.3 instead of generic Xcode.app
- Add timeouts to build steps (30 min for builds, 20 min for tests)
- Update both DEVELOPER_DIR env var and xcode-select paths

The hanging was likely due to using the default Xcode 16.0 on macOS-15
which may have compatibility issues with the project.
2025-06-17 10:54:22 +02:00
Peter Steinberger
fc27f84756 Fix platform-specific CI issues
- Include CreditLink component directly in AboutView.swift
- Fix Swift 6 concurrency issue with NSRunningApplication
- Remove Windows build from Rust workflow (tty-fwd is Unix-only)
- tty-fwd uses Unix-specific PTY features not available on Windows
2025-06-17 01:45:07 +02:00
Peter Steinberger
d7a49b0de0 Upgrade CI per platform 2025-06-17 01:29:06 +02:00
Peter Steinberger
0a067ca7a7 Update CI to build Rust binaries and clarify Node.js builds
- Rename Node.js job to clarify it builds both frontend and backend
- Add comment explaining what npm run build does (CSS, client, server)
- Include public/bundle/ in Node.js artifacts for frontend assets
- Add Rust binary build job with matrix strategy for multiple platforms:
  - Linux (x86_64)
  - macOS (x86_64 and arm64)
  - Windows (x86_64)
- Cache Rust dependencies for faster builds
- Run tests only on native platforms (not cross-compilation targets)
2025-06-16 16:47:42 +02:00
Peter Steinberger
445187d754 Add Node.js server build to CI workflow
- Add dedicated job for building Node.js server
- Use Node 20 on Ubuntu for the server build
- Run npm ci, build, and tests for the web directory
- Upload dist/ folder as build artifacts
2025-06-16 16:44:25 +02:00
Peter Steinberger
ef112c82b5 Fix serverPort UserDefaults type mismatch
The serverPort was being stored as a String in SettingsView but read as an
integer in VibeTunnelApp, causing it to default to 0 and then 800. Fixed by
reading it as a String and converting to Int with proper fallback to 4020.
2025-06-16 02:43:10 +02:00
Peter Steinberger
fe6f6a1299 Fix remaining build errors
- Remove HTTPTypesFoundation import from TunnelClient2.swift
- Replace APIKeyManager usage with hardcoded demo key in TunnelServerDemo
- Add WSMessage and WSMessageType definitions to TunnelClient.swift
- Remove TunnelClient2.swift to avoid duplicate TunnelClientError definitions
2025-06-16 01:29:24 +02:00
Peter Steinberger
b80c710c08 Add SwiftLint and SwiftFormat configuration for Swift 6
- Configure SwiftLint with Swift 6 compatible rules
- Disable conflicting self-related rules (implicit_self, redundant_self)
- Set up SwiftFormat to avoid self-rewrite conflicts
- Add custom rules for print statements and async/await patterns
- Create lint script and GitHub Actions workflow
- Add Package.swift for SPM dependencies
- Ensure proper exclusions for build directories and tests
2025-06-15 23:48:30 +02:00