@@ -59,36 +59,42 @@ jobs:
5959 env :
6060 TUFT_HOME : ${{ runner.temp }}/tuft
6161
62- - name : Test tuft (dry run - check config error)
62+ - name : Test tuft launch --help
6363 run : |
6464 export PATH="${TUFT_HOME}/bin:$PATH"
65- # Should fail with config error, not import error
66- tuft 2>&1 | grep -q "\-\-config" || tuft 2>&1 | grep -q "config"
65+ tuft launch --help
6766 env :
6867 TUFT_HOME : ${{ runner.temp }}/tuft
6968
70- - name : Clean up installation
71- run : rm -rf "${TUFT_HOME}"
72- env :
73- TUFT_HOME : ${{ runner.temp }}/tuft
74-
75- test-install-default-with-backend :
76- runs-on : ubuntu-latest
77-
78- steps :
79- - name : Checkout code
80- uses : actions/checkout@v4
81-
82- - name : Run install script (default includes backend)
69+ - name : Test tuft launch requires config
8370 run : |
84- bash scripts/install.sh --local-source "$GITHUB_WORKSPACE"
71+ export PATH="${TUFT_HOME}/bin:$PATH"
72+ # Should fail with config error when no config provided
73+ if tuft launch 2>&1; then
74+ echo "Expected tuft launch to fail without config"
75+ exit 1
76+ fi
77+ # Verify error message mentions config
78+ tuft launch 2>&1 | grep -qi "config"
8579 env :
8680 TUFT_HOME : ${{ runner.temp }}/tuft
8781
88- - name : Verify backend dependencies installed
82+ - name : Test tuft launch with config file
8983 run : |
90- "${TUFT_HOME}/venv/bin/python" -c "import peft; print('peft imported successfully')"
91- "${TUFT_HOME}/venv/bin/python" -c "import redis; print('redis imported successfully')"
84+ export PATH="${TUFT_HOME}/bin:$PATH"
85+ # Create a minimal config file
86+ cat > "${TUFT_HOME}/configs/tuft_config.yaml" << 'EOF'
87+ model_owner: test
88+ supported_models:
89+ - model_name: test-model
90+ model_path: /nonexistent/path
91+ max_model_len: 1024
92+ authorized_users:
93+ test-key: test-user
94+ EOF
95+ # Launch should fail due to missing model, but get past config validation
96+ # We just verify it doesn't fail on config parsing
97+ tuft launch 2>&1 | grep -v "Configuration file must be provided" || true
9298 env :
9399 TUFT_HOME : ${{ runner.temp }}/tuft
94100
@@ -97,25 +103,23 @@ jobs:
97103 env :
98104 TUFT_HOME : ${{ runner.temp }}/tuft
99105
100- test-install-without- backend :
106+ test-backend-dependencies :
101107 runs-on : ubuntu-latest
102108
103109 steps :
104110 - name : Checkout code
105111 uses : actions/checkout@v4
106112
107- - name : Run install script without backend
113+ - name : Run install script
108114 run : |
109- bash scripts/install.sh --local-source "$GITHUB_WORKSPACE" --without-backend
115+ bash scripts/install.sh --local-source "$GITHUB_WORKSPACE"
110116 env :
111117 TUFT_HOME : ${{ runner.temp }}/tuft
112118
113- - name : Verify minimal install (no peft)
119+ - name : Verify backend dependencies installed
114120 run : |
115- # peft should NOT be installed in minimal mode
116- "${TUFT_HOME}/venv/bin/python" -c "import peft" 2>&1 && exit 1 || echo "peft not installed (expected)"
117- # tuft should still be importable
118- "${TUFT_HOME}/venv/bin/python" -c "import tuft; print('tuft imported successfully')"
121+ "${TUFT_HOME}/venv/bin/python" -c "import peft; print('peft imported successfully')"
122+ "${TUFT_HOME}/venv/bin/python" -c "import redis; print('redis imported successfully')"
119123 env :
120124 TUFT_HOME : ${{ runner.temp }}/tuft
121125
@@ -150,13 +154,20 @@ jobs:
150154 env :
151155 TUFT_HOME : ${{ runner.temp }}/tuft
152156
153- - name : Test upgrade command
157+ - name : Test upgrade command (from PyPI)
154158 run : |
155159 export PATH="${TUFT_HOME}/bin:$PATH"
156160 tuft upgrade
157161 env :
158162 TUFT_HOME : ${{ runner.temp }}/tuft
159163
164+ - name : Test upgrade command (from local source)
165+ run : |
166+ export PATH="${TUFT_HOME}/bin:$PATH"
167+ tuft upgrade --local-source "$GITHUB_WORKSPACE"
168+ env :
169+ TUFT_HOME : ${{ runner.temp }}/tuft
170+
160171 - name : Clean up installation
161172 run : rm -rf "${TUFT_HOME}"
162173 env :
@@ -171,7 +182,7 @@ jobs:
171182
172183 - name : Initial install
173184 run : |
174- bash scripts/install.sh --local-source "$GITHUB_WORKSPACE" --without-backend
185+ bash scripts/install.sh --local-source "$GITHUB_WORKSPACE"
175186 env :
176187 TUFT_HOME : ${{ runner.temp }}/tuft
177188
@@ -184,7 +195,7 @@ jobs:
184195
185196 - name : Reinstall with --clean
186197 run : |
187- bash scripts/install.sh --local-source "$GITHUB_WORKSPACE" --without-backend -- clean
198+ bash scripts/install.sh --local-source "$GITHUB_WORKSPACE" --clean
188199 env :
189200 TUFT_HOME : ${{ runner.temp }}/tuft
190201
@@ -202,36 +213,30 @@ jobs:
202213 env :
203214 TUFT_HOME : ${{ runner.temp }}/tuft
204215
205- test-install-backend-command :
216+ test-upgrade-from-source :
206217 runs-on : ubuntu-latest
207218
208219 steps :
209220 - name : Checkout code
210221 uses : actions/checkout@v4
211222
212- - name : Install without backend first
213- run : |
214- bash scripts/install.sh --local-source "$GITHUB_WORKSPACE" --without-backend
215- env :
216- TUFT_HOME : ${{ runner.temp }}/tuft
217-
218- - name : Verify peft is NOT installed
219- run : |
220- "${TUFT_HOME}/venv/bin/python" -c "import peft" 2>&1 && exit 1 || echo "peft not installed (expected)"
223+ - name : Install tuft
224+ run : bash scripts/install.sh --local-source "$GITHUB_WORKSPACE"
221225 env :
222226 TUFT_HOME : ${{ runner.temp }}/tuft
223227
224- - name : Run install-backend command
228+ - name : Test upgrade --from-source
225229 run : |
226230 export PATH="${TUFT_HOME}/bin:$PATH"
227- tuft install-backend
231+ tuft upgrade --from-source
228232 env :
229233 TUFT_HOME : ${{ runner.temp }}/tuft
230234
231- - name : Verify backend dependencies now installed
235+ - name : Verify tuft still works after upgrade
232236 run : |
233- "${TUFT_HOME}/venv/bin/python" -c "import peft; print('peft imported successfully')"
234- "${TUFT_HOME}/venv/bin/python" -c "import redis; print('redis imported successfully')"
237+ export PATH="${TUFT_HOME}/bin:$PATH"
238+ tuft version
239+ tuft launch --help
235240 env :
236241 TUFT_HOME : ${{ runner.temp }}/tuft
237242
0 commit comments