Add macOS and Linux installer CI smoke tests #1
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: macos-installer-test | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'install-claude46.sh' | |
| - '.github/workflows/macos-installer.yml' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'install-claude46.sh' | |
| - '.github/workflows/macos-installer.yml' | |
| jobs: | |
| smoke: | |
| strategy: | |
| matrix: | |
| os: [macos-15, macos-13] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Show preinstalled tooling | |
| run: | | |
| uname -ms | |
| node --version | |
| npm --version | |
| git --version | |
| - name: Run install-claude46.sh | |
| run: ./install-claude46.sh | |
| - name: Verify wrapper file exists and runs via direct path | |
| run: | | |
| wrapper="$HOME/.local/bin/claude46" | |
| if [ ! -f "$wrapper" ]; then | |
| echo "Wrapper missing: $wrapper" >&2 | |
| exit 1 | |
| fi | |
| "$wrapper" --version | |
| - name: Inspect generated wrapper content | |
| run: cat "$HOME/.local/bin/claude46" | |
| - name: Assert wrapper sets expected env vars | |
| run: | | |
| wrapper="$HOME/.local/bin/claude46" | |
| for needle in \ | |
| 'DISABLE_AUTOUPDATER=1' \ | |
| 'DISABLE_UPDATES=1' \ | |
| "ANTHROPIC_MODEL='claude-opus-4-6[1m]'"; do | |
| if ! grep -qF "$needle" "$wrapper"; then | |
| echo "Wrapper missing expected line: $needle" >&2 | |
| exit 1 | |
| fi | |
| done | |
| - name: Expose claude46 on PATH for subsequent steps | |
| run: echo "$HOME/.local/bin" >> "$GITHUB_PATH" | |
| - name: Resolve claude46 via PATH | |
| run: claude46 --version | |
| - name: Re-run installer (idempotency) | |
| run: ./install-claude46.sh |