2025-05-30 11:52:43 +02:00

56 lines
1.2 KiB
YAML

name: CI
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
env:
node_version: 22.12.0
permissions:
id-token: write
jobs:
test:
runs-on: ubuntu-latest
env: |
URL="http://localhost:8081/api/codex/v1/debug/info"
TIMEOUT_SECONDS=300
SLEEP_INTERVAL=2
MAX_RETRIES=$((TIMEOUT_SECONDS / SLEEP_INTERVAL))
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.node_version }}
registry-url: "https://registry.npmjs.org"
- run: npm ci
- name: Start codex-factory
run: npx codex-factory start latest &
- name: Wait for first SP to be started
run: |
echo "Waiting for $URL (timeout: ${TIMEOUT_SECONDS}s)..."
for i in $(seq 1 $MAX_RETRIES); do
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$URL")
if [ "$STATUS" = "200" ]; then
echo "Codex is ready"
exit 0
fi
sleep $SLEEP_INTERVAL
done
echo "Timed out after ${TIMEOUT_SECONDS}s waiting for $URL"
exit 1
- run: npm test