Răsfoiți Sursa

feat: add caching for opencode binary in GitHub Actions (#5384)

Sachnun 4 luni în urmă
părinte
comite
0efdc3a8a0
1 a modificat fișierele cu 19 adăugiri și 0 ștergeri
  1. 19 0
      github/action.yml

+ 19 - 0
github/action.yml

@@ -20,10 +20,29 @@ inputs:
 runs:
   using: "composite"
   steps:
+    - name: Get opencode version
+      id: version
+      shell: bash
+      run: |
+        VERSION=$(curl -sf https://api.github.com/repos/sst/opencode/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
+        echo "version=${VERSION:-latest}" >> $GITHUB_OUTPUT
+
+    - name: Cache opencode
+      id: cache
+      uses: actions/cache@v4
+      with:
+        path: ~/.opencode/bin
+        key: opencode-${{ runner.os }}-${{ runner.arch }}-${{ steps.version.outputs.version }}
+
     - name: Install opencode
+      if: steps.cache.outputs.cache-hit != 'true'
       shell: bash
       run: curl -fsSL https://opencode.ai/install | bash
 
+    - name: Add opencode to PATH
+      shell: bash
+      run: echo "$HOME/.opencode/bin" >> $GITHUB_PATH
+
     - name: Run opencode
       shell: bash
       id: run_opencode