diff --git a/.github/workflows/proxy_integration_tests.yml b/.github/workflows/proxy_integration_tests.yml new file mode 100644 index 0000000..631069a --- /dev/null +++ b/.github/workflows/proxy_integration_tests.yml @@ -0,0 +1,44 @@ +# Integration tests against a real proxy (PROXY_URL). Add repository secret PROXY_URL +# under Settings → Secrets and variables → Actions, then mark this workflow as a required +# status check under branch protection (pull_request events only receive secrets for PRs +# from the same repository, not from forks). + +name: Proxy integration tests + +on: + pull_request: + +permissions: + contents: read + +jobs: + integration: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Require PROXY_URL Actions secret + env: + PROXY_URL: ${{ secrets.PROXY_URL }} + run: | + if [ -z "${PROXY_URL}" ]; then + echo "::error::PROXY_URL is not set. Add a repository (or environment) secret named PROXY_URL under Settings → Secrets and variables → Actions." + exit 1 + fi + + - name: Run integration tests + env: + PROXY_URL: ${{ secrets.PROXY_URL }} + run: npm test