Browse Source

fix(ci): install OpenCode CLI using install.sh for SDK to work

- SDK's createOpencode() internally spawns 'opencode serve' command
- Must install OpenCode CLI first for SDK to function
- Uses repository's install.sh script
- Adds PATH configuration for installed CLI
- Increases timeout to 15min for installation + tests
darrenhinde 4 months ago
parent
commit
9cf88812d4
1 changed files with 30 additions and 4 deletions
  1. 30 4
      .github/workflows/test-agents.yml

+ 30 - 4
.github/workflows/test-agents.yml

@@ -15,7 +15,7 @@ jobs:
   test-openagent:
   test-openagent:
     name: Test OpenAgent
     name: Test OpenAgent
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
-    timeout-minutes: 10
+    timeout-minutes: 15
     
     
     steps:
     steps:
       - name: Checkout code
       - name: Checkout code
@@ -28,6 +28,17 @@ jobs:
           cache: 'npm'
           cache: 'npm'
           cache-dependency-path: 'evals/framework/package-lock.json'
           cache-dependency-path: 'evals/framework/package-lock.json'
       
       
+      - name: Install OpenCode CLI
+        run: |
+          bash install.sh
+          echo "$HOME/.opencode/bin" >> $GITHUB_PATH
+      
+      - name: Verify OpenCode installation
+        run: |
+          export PATH="$HOME/.opencode/bin:$PATH"
+          which opencode
+          opencode --version
+      
       - name: Install dependencies
       - name: Install dependencies
         working-directory: evals/framework
         working-directory: evals/framework
         run: npm install
         run: npm install
@@ -37,7 +48,9 @@ jobs:
         run: npm run build
         run: npm run build
       
       
       - name: Run OpenAgent smoke test
       - name: Run OpenAgent smoke test
-        run: npm run test:ci:openagent
+        run: |
+          export PATH="$HOME/.opencode/bin:$PATH"
+          npm run test:ci:openagent
         env:
         env:
           CI: true
           CI: true
       
       
@@ -52,7 +65,7 @@ jobs:
   test-opencoder:
   test-opencoder:
     name: Test OpenCoder
     name: Test OpenCoder
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
-    timeout-minutes: 10
+    timeout-minutes: 15
     
     
     steps:
     steps:
       - name: Checkout code
       - name: Checkout code
@@ -65,6 +78,17 @@ jobs:
           cache: 'npm'
           cache: 'npm'
           cache-dependency-path: 'evals/framework/package-lock.json'
           cache-dependency-path: 'evals/framework/package-lock.json'
       
       
+      - name: Install OpenCode CLI
+        run: |
+          bash install.sh
+          echo "$HOME/.opencode/bin" >> $GITHUB_PATH
+      
+      - name: Verify OpenCode installation
+        run: |
+          export PATH="$HOME/.opencode/bin:$PATH"
+          which opencode
+          opencode --version
+      
       - name: Install dependencies
       - name: Install dependencies
         working-directory: evals/framework
         working-directory: evals/framework
         run: npm install
         run: npm install
@@ -74,7 +98,9 @@ jobs:
         run: npm run build
         run: npm run build
       
       
       - name: Run OpenCoder smoke test
       - name: Run OpenCoder smoke test
-        run: npm run test:ci:opencoder
+        run: |
+          export PATH="$HOME/.opencode/bin:$PATH"
+          npm run test:ci:opencoder
         env:
         env:
           CI: true
           CI: true