Install verification #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |