|
|
@@ -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
|