Skip to content

Commit e7aa5ef

Browse files
author
saravmajestic
committed
Merge branch main into fix/datamate-stdio-local-transport
2 parents 18da6b4 + ae69109 commit e7aa5ef

11 files changed

Lines changed: 866 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
typescript: ${{ steps.filter.outputs.typescript }}
2424
drivers: ${{ steps.filter.outputs.drivers }}
2525
dbt-tools: ${{ steps.filter.outputs.dbt-tools }}
26+
installer: ${{ steps.filter.outputs.installer }}
2627
steps:
2728
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
2829

@@ -50,6 +51,9 @@ jobs:
5051
- 'packages/opencode/test/altimate/connections.test.ts'
5152
dbt-tools:
5253
- 'packages/dbt-tools/**'
54+
installer:
55+
- 'install.ps1'
56+
- 'test/windows/**'
5357
5458
# ---------------------------------------------------------------------------
5559
# Main TypeScript tests — excludes driver E2E tests (separate job) and
@@ -309,6 +313,34 @@ jobs:
309313
run: bun run test
310314
working-directory: packages/dbt-tools
311315

316+
# ---------------------------------------------------------------------------
317+
# Windows installer (install.ps1) — Pester behavioral tests on real Windows.
318+
# Runs the script as a subprocess (stopping early via -Help / unknown version
319+
# so nothing is downloaded) to cover arg parsing, the WOW64 arch fix, and
320+
# unknown-version rejection. Only when install.ps1 / its tests change.
321+
# ---------------------------------------------------------------------------
322+
windows-installer:
323+
name: Windows Installer (Pester)
324+
needs: changes
325+
if: needs.changes.outputs.installer == 'true' || github.event_name == 'push'
326+
runs-on: windows-latest
327+
timeout-minutes: 10
328+
steps:
329+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
330+
331+
- name: Install Pester
332+
shell: pwsh
333+
run: Install-Module Pester -MinimumVersion 5.0.0 -Force -Scope CurrentUser -SkipPublisherCheck
334+
335+
- name: Run installer Pester tests
336+
shell: pwsh
337+
run: |
338+
$config = New-PesterConfiguration
339+
$config.Run.Path = "./test/windows/install.Tests.ps1"
340+
$config.Run.Throw = $true
341+
$config.Output.Verbosity = "Detailed"
342+
Invoke-Pester -Configuration $config
343+
312344
# ---------------------------------------------------------------------------
313345
# dbt-tools E2E — slow (~3 min), only on push to main.
314346
# Tests dbt CLI fallbacks against real dbt versions (1.8, 1.10, 1.11) and

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ into CI pipelines and orchestration DAGs. Precision data tooling for any LLM.
3030
npm install -g altimate-code
3131
```
3232

33-
Or via curl (installs the `altimate` binary to `~/.altimate/bin`):
33+
Or via curl on macOS/Linux (installs the `altimate` binary to `~/.altimate/bin`):
3434

3535
```bash
3636
curl -fsSL https://www.altimate.sh/install | bash
3737
```
3838

39-
The curl install drops a single self-contained binary named `altimate`. The npm install exposes both `altimate` and `altimate-code` on PATH; the curl install only exposes `altimate`. Alpine Linux (musl) and Windows on ARM64 are not currently supported by the standalone binary — use `apk add gcompat` on Alpine, or use WSL on Windows-on-ARM.
39+
On Windows, install the same self-contained binary (to `%USERPROFILE%\.altimate\bin`) from PowerShell — no Node required:
40+
41+
```powershell
42+
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"
43+
```
44+
45+
The standalone install drops a single self-contained binary named `altimate`. The npm install exposes both `altimate` and `altimate-code` on PATH; the standalone install only exposes `altimate`. Alpine Linux (musl) and Windows on ARM64 are not currently supported by the standalone binary — use `apk add gcompat` on Alpine, or use WSL on Windows-on-ARM.
4046

4147
For GitHub, [install the Altimate Code App](https://github.com/apps/altimate-code-agent/installations/new)
4248
to select repositories for interactive agent tasks. Automatic dbt pull-request

docs/docs/reference/troubleshooting.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,24 @@ Or use a glibc-based base image (`debian`, `ubuntu`, `node:slim`).
5252

5353
Run the x64 build under Windows-on-ARM's x64 emulation layer, or use WSL.
5454

55+
### `altimate` not found after the Windows standalone install
56+
57+
**Symptoms:** `altimate` is unrecognized after running the PowerShell installer.
58+
59+
The installer adds `%USERPROFILE%\.altimate\bin` to your **user** PATH — open a
60+
new terminal so it takes effect. To (re)install or pin a version:
61+
62+
```powershell
63+
# Latest
64+
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"
65+
66+
# Specific version
67+
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -Version 1.0.180
68+
```
69+
70+
If the binary crashes immediately on an older CPU, the installer normally retries
71+
the baseline (non-AVX2) build automatically; force it with `-ForceBaseline`.
72+
5573
## Log Files
5674

5775
Logs are stored at:

docs/docs/reference/windows-wsl.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,35 @@ altimate runs on Windows both natively (via Node.js on Windows) and through WSL
44

55
## Windows Native Install
66

7-
You can install and run altimate directly in PowerShell or Command Prompt without WSL:
7+
### Standalone install (no Node)
8+
9+
The fastest path installs the self-contained binary — the same Bun-compiled
10+
`altimate.exe` we ship on macOS/Linux — straight from GitHub releases. It needs
11+
no Node.js or npm:
12+
13+
```powershell
14+
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"
15+
```
16+
17+
This downloads `altimate.exe` to `%USERPROFILE%\.altimate\bin` and adds that
18+
directory to your user PATH (open a new terminal afterwards). The installer
19+
auto-detects AVX2 support and falls back to the baseline build on older CPUs.
20+
21+
Options (pass via a script block):
22+
23+
```powershell
24+
# Pin a specific version
25+
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -Version 1.0.180
26+
27+
# Skip the PATH edit
28+
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -NoPathUpdate
29+
```
30+
31+
`altimate upgrade` self-updates a standalone install in place using the same script.
32+
33+
### npm install
34+
35+
Alternatively, install via npm with Node.js 18+ installed natively on Windows:
836

937
```powershell
1038
# PowerShell or CMD — install globally
@@ -14,7 +42,7 @@ npm install -g altimate-code
1442
altimate
1543
```
1644

17-
This works with Node.js 18+ installed natively on Windows. All core features work in native mode, including warehouse connections, agent modes, and the TUI.
45+
Both paths support all core features in native mode, including warehouse connections, agent modes, and the TUI.
1846

1947
## WSL Setup (Recommended)
2048

0 commit comments

Comments
 (0)