Skip to content

Add claude47 launcher pinned to Opus 4.7 and harness 2.1.153 #1

Add claude47 launcher pinned to Opus 4.7 and harness 2.1.153

Add claude47 launcher pinned to Opus 4.7 and harness 2.1.153 #1

name: linux-installer-47-test
on:
workflow_dispatch:
push:
branches: [main]
paths:
- 'install-claude47.sh'
- '.github/workflows/linux-installer-47.yml'
pull_request:
branches: [main]
paths:
- 'install-claude47.sh'
- '.github/workflows/linux-installer-47.yml'
jobs:
smoke:
strategy:
matrix:
os: [ubuntu-24.04, ubuntu-24.04-arm]
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-claude47.sh
run: ./install-claude47.sh
- name: Verify wrapper file exists and runs via direct path
run: |
wrapper="$HOME/.local/bin/claude47"
if [ ! -f "$wrapper" ]; then
echo "Wrapper missing: $wrapper" >&2
exit 1
fi
"$wrapper" --version
- name: Inspect generated wrapper content
run: cat "$HOME/.local/bin/claude47"
- name: Assert wrapper sets expected env vars
run: |
wrapper="$HOME/.local/bin/claude47"
for needle in \
'DISABLE_AUTOUPDATER=1' \
'DISABLE_UPDATES=1' \
"ANTHROPIC_MODEL='claude-opus-4-7[1m]'"; do
if ! grep -qF "$needle" "$wrapper"; then
echo "Wrapper missing expected line: $needle" >&2
exit 1
fi
done
- name: Expose claude47 on PATH for subsequent steps
run: echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Resolve claude47 via PATH
run: claude47 --version
- name: Re-run installer (idempotency)
run: ./install-claude47.sh
- name: Verify .zshrc PATH append (script targets zsh only)
run: |
if [ -f "$HOME/.zshrc" ]; then
grep -q 'export PATH="$HOME/.local/bin:$PATH"' "$HOME/.zshrc" \
&& echo ".zshrc PATH entry present" \
|| { echo ".zshrc exists but PATH entry missing" >&2; exit 1; }
else
echo "Note: ~/.zshrc does not exist (expected on bash-default Linux)"
fi