Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
96a49b9
feat(windows): add conditional dependencies and platform-aware socket…
winrey Apr 5, 2026
50faf61
feat(windows): add cross-platform file permissions module with tests
winrey Apr 5, 2026
f3d8cb1
feat(windows): add explicit lib/bin sections and improve fs_perms tests
winrey Apr 5, 2026
3b99e0b
feat(windows): add DPAPI key encryption module with tests
winrey Apr 5, 2026
7848fd1
feat(windows): refactor IPC server for cross-platform Named Pipe support
winrey Apr 5, 2026
223313e
feat(windows): extract cross-platform ipc_connect() in ahandctl
winrey Apr 5, 2026
dc2e8fe
feat(windows): add cross-platform signal handling and process management
winrey Apr 5, 2026
3fc263a
feat(windows): integrate fs_perms and DPAPI for secure key storage
winrey Apr 5, 2026
0d3c8f0
feat(windows): adapt browser-init for Windows Node.js zip and cross-p…
winrey Apr 5, 2026
20e1da7
feat(windows): rewrite upgrade in Rust, remove bash dependency from a…
winrey Apr 5, 2026
57972ca
ci: add Windows build target and cross-platform test workflow
winrey Apr 5, 2026
d9ad072
test(ipc): add frame protocol integration tests over Unix sockets
winrey Apr 5, 2026
de675a2
test: add unit tests for ahandctl daemon, upgrade, github_release and…
winrey Apr 5, 2026
8295ad7
test: add cfg-gated Windows tests and device_identity roundtrip tests
winrey Apr 5, 2026
05c4cd7
fix: enforce checksum verification in install.ps1 and add Windows arm…
winrey Apr 5, 2026
72df7a8
test: add full serve_ipc integration tests with session query roundtrip
winrey Apr 5, 2026
280974a
fix: address Critical and Important code review findings
winrey Apr 5, 2026
d46047b
fix: address review-loop Round 1 findings
winrey Apr 11, 2026
9f1960c
fix: address review-loop Round 2 security findings
winrey Apr 11, 2026
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
29 changes: 20 additions & 9 deletions .github/workflows/release-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,9 @@ jobs:
- os: macos-latest
target: x86_64-apple-darwin
suffix: darwin-x64
# TODO: Windows support needs cross-platform IPC (see feat/windows-support branch)
# - os: windows-latest
# target: x86_64-pc-windows-msvc
# suffix: windows-x64
- os: windows-latest
target: x86_64-pc-windows-msvc
suffix: windows-x64

runs-on: ${{ matrix.os }}

Expand All @@ -49,17 +48,19 @@ jobs:
if: runner.os == 'macOS'
run: brew install protobuf

# - name: Install protoc (Windows)
# if: runner.os == 'Windows'
# uses: arduino/setup-protoc@v3
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install protoc (Windows)
if: runner.os == 'Windows'
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}

- uses: Swatinem/rust-cache@v2

- name: Install cross-compilation tools
if: matrix.cross
run: cargo install cross --git https://github.com/cross-rs/cross
Expand All @@ -73,12 +74,22 @@ jobs:
run: cross build --release --target ${{ matrix.target }} -p ahandd -p ahandctl

- name: Prepare artifacts
if: runner.os != 'Windows'
run: |
mkdir -p release
cp target/${{ matrix.target }}/release/ahandd release/ahandd-${{ matrix.suffix }}
cp target/${{ matrix.target }}/release/ahandctl release/ahandctl-${{ matrix.suffix }}
cd release && shasum -a 256 * > checksums-rust-${{ matrix.suffix }}.txt

- name: Prepare artifacts (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
mkdir -p release
cp target/${{ matrix.target }}/release/ahandd.exe release/ahandd-${{ matrix.suffix }}.exe
cp target/${{ matrix.target }}/release/ahandctl.exe release/ahandctl-${{ matrix.suffix }}.exe
cd release && sha256sum * > checksums-rust-${{ matrix.suffix }}.txt

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/test-rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Test Rust

on:
push:
branches: [dev, main]
paths:
- "crates/**"
- "proto/**"
- "Cargo.*"
pull_request:
paths:
- "crates/**"
- "proto/**"
- "Cargo.*"

jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4

- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler libssl-dev pkg-config

- name: Install protoc (macOS)
if: runner.os == 'macOS'
run: brew install protobuf

- name: Install protoc (Windows)
if: runner.os == 'Windows'
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2

- name: Run tests
run: cargo test --workspace
Loading