ソースを参照

One more attempt

cte 11 ヶ月 前
コミット
de7f67f71e
1 ファイル変更20 行追加12 行削除
  1. 20 12
      .github/workflows/code-qa.yml

+ 20 - 12
.github/workflows/code-qa.yml

@@ -43,15 +43,25 @@ jobs:
       - name: Run unit tests
         run: npm test
 
+  check-openrouter-api-key:
+    runs-on: ubuntu-latest
+    outputs:
+      exists: ${{ steps.openrouter-api-key-check.outputs.defined }}
+    steps:
+      - name: Check if OPENROUTER_API_KEY exists
+        id: openrouter-api-key-check
+        shell: bash
+        run: |
+          if [ "${{ secrets.OPENROUTER_API_KEY }}" != '' ]; then
+            echo "defined=true" >> $GITHUB_OUTPUT;
+          else
+            echo "defined=false" >> $GITHUB_OUTPUT;
+          fi
+
   integration-test:
-    # https://stackoverflow.com/questions/72925899/github-actions-detect-if-secret-exists
-    env: 
-      OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
-    if: ${{ env.OPENROUTER_API_KEY != '' }}
-    strategy:
-      matrix:
-        os: [ubuntu-latest] # macos-latest, windows-latest
-    runs-on: ${{ matrix.os }}
+    runs-on: ubuntu-latest
+    needs: [check-openrouter-api-key]
+    if: needs.check-openrouter-api-key.outputs.exists == 'true'
     steps:
       - name: Checkout code
         uses: actions/checkout@v4
@@ -64,7 +74,5 @@ jobs:
         run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration
       - name: Install dependencies
         run: npm run install:all
-      - run: xvfb-run -a npm run test:integration
-        if: runner.os == 'Linux'
-      - run: npm run test:integration
-        if: runner.os != 'Linux'
+      - name: Run integration tests
+        run: xvfb-run -a npm run test:integration