Skip to content

Install verification #2

Install verification

Install verification #2

Workflow file for this run

name: Install verification
# Verifies install.sh / install.ps1 work end-to-end on a fresh runner on
# all 3 supported OS. Uses INSTALL_TEST_MODE=1 to skip pip install, model
# pre-download, LaunchAgents/systemd/Task Scheduler registration and the
# dashboard service — the expensive side effects — while still exercising
# path resolution, MCP config merging and hook file copying.
on:
push:
branches: [main]
paths:
- "install.sh"
- "install.ps1"
- "install-codex.sh"
- "install-codex.ps1"
- "install-docker.sh"
- "setup.sh"
- ".github/workflows/install.yml"
pull_request:
branches: [main]
paths:
- "install.sh"
- "install.ps1"
- "install-codex.sh"
- "install-codex.ps1"
- "install-docker.sh"
- "setup.sh"
- ".github/workflows/install.yml"
workflow_dispatch:
schedule:
# Mondays 06:00 UTC — catch bit-rot (e.g. new Python in hosted runner
# images, deprecated flags in install scripts).
- cron: "0 6 * * 1"
concurrency:
group: install-${{ github.ref }}
cancel-in-progress: true
env:
# Makes install.sh / install.ps1 skip heavy steps. Both scripts already
# honour this var (install.sh line 81, install.ps1 line 39).
INSTALL_TEST_MODE: "1"
CI: "1"
jobs:
install-ubuntu:
name: install.sh on Ubuntu
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Run install.sh (test mode)
shell: bash
run: |
bash install.sh --ide claude-code
- name: Install package (for import smoke)
shell: bash
run: |
python -m pip install --upgrade pip
pip install -e .
- name: Verify package import + version
shell: bash
run: |
python -c "import claude_total_memory as m; print('version:', m.__version__)"
- name: Uninstall smoke (cleanup path)
shell: bash
run: |
bash install.sh --uninstall || true
install-macos:
name: install.sh on macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Run install.sh (test mode)
shell: bash
run: |
bash install.sh --ide claude-code
- name: Install package (for import smoke)
shell: bash
run: |
python -m pip install --upgrade pip
pip install -e .
- name: Verify package import + version
shell: bash
run: |
python -c "import claude_total_memory as m; print('version:', m.__version__)"
- name: Uninstall smoke (cleanup path)
shell: bash
run: |
bash install.sh --uninstall || true
install-windows:
name: install.ps1 on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Run install.ps1 (test mode)
shell: pwsh
run: |
# -TestMode mirrors INSTALL_TEST_MODE=1; also set env for any child
# python processes spawned by the script.
$env:INSTALL_TEST_MODE = "1"
./install.ps1 -Ide claude-code -TestMode
- name: Install package (for import smoke)
shell: pwsh
run: |
python -m pip install --upgrade pip
pip install -e .
- name: Verify package import + version
shell: pwsh
run: |
python -c "import claude_total_memory as m; print('version:', m.__version__)"
- name: Uninstall smoke (cleanup path)
shell: pwsh
run: |
$env:INSTALL_TEST_MODE = "1"
./install.ps1 -Uninstall -TestMode
continue-on-error: true