Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
ca5bf66
Document native desktop preview and release targets
fmarslan Sep 20, 2026
3081572
Modern English desktop and default app startup
fmarslan Sep 20, 2026
cf1c189
Package and verify six native release archives
fmarslan Sep 20, 2026
386ba5f
Test startup and release archive integrity
fmarslan Sep 20, 2026
83ca128
Explain preview scope and platform requirements
fmarslan Sep 20, 2026
82edcbc
Build test and release six native desktop targets
fmarslan Sep 20, 2026
80c3b65
Disable release publishing pending acceptance [skip ci]
fmarslan Sep 20, 2026
aaf7957
Clarify unfinished acceptance gates [skip ci]
fmarslan Sep 20, 2026
fa34fb3
Fix Windows atomic state replacement and add regression tests
fmarslan Sep 20, 2026
fa6dd59
Add consent-based browser CSV import and approved desktop branding
fmarslan Sep 20, 2026
f820b17
Add metadata-first Azure Key Vault desktop connector with live valida…
fmarslan Sep 20, 2026
9b9cbfc
Add multi-vault source management and illustrated static desktop guide
fmarslan Sep 20, 2026
34c38df
Add fmarslan.com attribution to desktop and documentation
fmarslan Sep 20, 2026
ab5bdb9
Add static docs credits and release catalogue
fmarslan Sep 20, 2026
8b6abd2
Add docs analytics, search discovery and site branding
fmarslan Sep 20, 2026
b8cf164
Keep documentation analytics cookies on its subdomain
fmarslan Sep 20, 2026
2378a44
Clarify static metadata and optional website analytics
fmarslan Sep 20, 2026
e33fcbe
Add live-tested Drive vaults and gated six-platform release candidate
fmarslan Sep 20, 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
128 changes: 109 additions & 19 deletions .github/workflows/desktop-build.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,128 @@
name: Native desktop build
name: Desktop validation

on:
workflow_dispatch:
push:
branches: [main]
tags: ['v*']
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: desktop-${{ github.ref }}
cancel-in-progress: false

jobs:
quality:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install Rust
run: rustup toolchain install 1.95.0 --profile minimal --component rustfmt,clippy
- name: Format
run: cargo +1.95.0 fmt --all -- --check
- name: Lint
run: cargo +1.95.0 clippy --workspace --all-targets --locked -- -D warnings
- name: Package verification tests
run: python3 -m unittest discover -s tests -p 'test_*.py'

desktop:
needs: quality
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
include:
- runner: windows-latest
artifact: tar-vault-sync-windows
executable: target/release/tar-vault-sync.exe
- runner: macos-latest
artifact: tar-vault-sync-macos
executable: target/release/tar-vault-sync
- runner: ubuntu-latest
artifact: tar-vault-sync-linux
executable: target/release/tar-vault-sync
- runner: windows-2025
platform: windows
arch: amd64
target: x86_64-pc-windows-msvc
suffix: .exe
- runner: windows-11-arm
platform: windows
arch: arm64
target: aarch64-pc-windows-msvc
suffix: .exe
- runner: macos-15-intel
platform: macos
arch: amd64
target: x86_64-apple-darwin
suffix: ''
- runner: macos-15
platform: macos
arch: arm64
target: aarch64-apple-darwin
suffix: ''
- runner: ubuntu-24.04
platform: linux
arch: amd64
target: x86_64-unknown-linux-gnu
suffix: ''
- runner: ubuntu-24.04-arm
platform: linux
arch: arm64
target: aarch64-unknown-linux-gnu
suffix: ''
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- name: Rust stable
run: rustup update stable
- name: Tests
run: cargo test --workspace --locked
- name: Desktop binary
run: cargo build --release --locked
- name: Install Rust
run: rustup toolchain install 1.95.0 --profile minimal --target ${{ matrix.target }}
- name: Native tests
run: cargo +1.95.0 test --workspace --locked --target ${{ matrix.target }}
- name: Release build
run: cargo +1.95.0 build --release --locked --target ${{ matrix.target }}
- name: Native executable smoke test
run: ./target/${{ matrix.target }}/release/tar-vault-sync${{ matrix.suffix }} --version
- name: Package
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Build archive
run: python scripts/package-release.py --platform ${{ matrix.platform }} --arch ${{ matrix.arch }} --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact }}
path: ${{ matrix.executable }}
name: tar-vault-sync-${{ matrix.platform }}-${{ matrix.arch }}
path: dist/*
if-no-files-found: error
retention-days: 30

verify-artifacts:
needs: desktop
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
pattern: tar-vault-sync-*
merge-multiple: true
path: dist
- name: Verify release assets
run: python scripts/verify-release.py dist

release:
if: startsWith(github.ref, 'refs/tags/v')
needs: verify-artifacts
runs-on: ubuntu-24.04
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Check tag matches package version
env:
RELEASE_TAG: ${{ github.ref_name }}
run: python -c 'import os,tomllib; assert os.environ["RELEASE_TAG"] == "v" + tomllib.load(open("Cargo.toml", "rb"))["package"]["version"]'
- uses: actions/download-artifact@v4
with:
pattern: tar-vault-sync-*
merge-multiple: true
path: dist
- name: Verify all six archives again
run: python scripts/verify-release.py dist
- name: Publish verified preview
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.ref_name }}
run: gh release create "$RELEASE_TAG" dist/* --verify-tag --prerelease --title "TAR Vault Sync $RELEASE_TAG" --notes-file docs/release-notes.md
4 changes: 4 additions & 0 deletions .openai/hosting.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"project_id": "appgprj_6aafc60b3dd88191913e33ee67ee55ea",
"static": { "directory": "docs" }
}
Loading
Loading