Fix test workflows to use build artifacts instead of local binary

- Build workflow now uploads ollama binary as artifact with 7-day retention
- Test workflows download artifact instead of expecting local binary
- Eliminates 'ollama binary not found' error when running tests
- Enables build-once, test-multiple-times workflow pattern
- Added binary verification step to confirm artifact download
This commit is contained in:
Shang Chieh Tseng
2025-10-30 12:07:28 +08:00
parent 6c3876a30d
commit a171c8a087
3 changed files with 31 additions and 11 deletions

View File

@@ -37,3 +37,15 @@ jobs:
- name: Build Go binary - name: Build Go binary
run: | run: |
go build -v -o ollama . go build -v -o ollama .
- name: Verify binary was created
run: |
ls -lh ollama
./ollama --version
- name: Upload ollama binary as artifact
uses: actions/upload-artifact@v4
with:
name: ollama-binary
path: ollama
retention-days: 7

View File

@@ -4,7 +4,7 @@ on:
workflow_dispatch: # Manual trigger only workflow_dispatch: # Manual trigger only
schedule: schedule:
# Run weekly on Sundays at 2 AM UTC (less frequent than single-GPU tests) # Run weekly on Sundays at 2 AM UTC (less frequent than single-GPU tests)
- cron: '0 2 * * 0' - cron: "0 2 * * 0"
jobs: jobs:
multi-gpu-test: multi-gpu-test:
@@ -16,13 +16,17 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Verify ollama binary exists - name: Download ollama binary from build workflow
uses: actions/download-artifact@v4
with:
name: ollama-binary
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Make ollama binary executable
run: | run: |
if [ ! -f ./ollama ]; then chmod +x ollama
echo "Error: ollama binary not found. Please run the build workflow first."
exit 1
fi
ls -lh ollama ls -lh ollama
./ollama --version
- name: Verify multi-GPU setup - name: Verify multi-GPU setup
run: | run: |

View File

@@ -13,13 +13,17 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Verify ollama binary exists - name: Download ollama binary from build workflow
uses: actions/download-artifact@v4
with:
name: ollama-binary
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Make ollama binary executable
run: | run: |
if [ ! -f ./ollama ]; then chmod +x ollama
echo "Error: ollama binary not found. Please run the build workflow first."
exit 1
fi
ls -lh ollama ls -lh ollama
./ollama --version
- name: Build test-runner - name: Build test-runner
run: | run: |