| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- name: test
- on:
- push:
- branches:
- - dev
- pull_request:
- workflow_dispatch:
- jobs:
- test:
- runs-on: blacksmith-4vcpu-ubuntu-2404
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- - name: Setup Bun
- uses: ./.github/actions/setup-bun
- - name: Install Playwright browsers
- working-directory: packages/app
- run: bunx playwright install --with-deps
- - name: Seed opencode data
- working-directory: packages/opencode
- run: bun script/seed-e2e.ts
- env:
- MODELS_DEV_API_JSON: ${{ github.workspace }}/packages/opencode/test/tool/fixtures/models-api.json
- OPENCODE_DISABLE_MODELS_FETCH: "true"
- OPENCODE_DISABLE_SHARE: "true"
- OPENCODE_DISABLE_LSP_DOWNLOAD: "true"
- OPENCODE_DISABLE_DEFAULT_PLUGINS: "true"
- OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER: "true"
- OPENCODE_TEST_HOME: ${{ runner.temp }}/opencode-e2e/home
- XDG_DATA_HOME: ${{ runner.temp }}/opencode-e2e/share
- XDG_CACHE_HOME: ${{ runner.temp }}/opencode-e2e/cache
- XDG_CONFIG_HOME: ${{ runner.temp }}/opencode-e2e/config
- XDG_STATE_HOME: ${{ runner.temp }}/opencode-e2e/state
- OPENCODE_E2E_PROJECT_DIR: ${{ github.workspace }}
- OPENCODE_E2E_SESSION_TITLE: "E2E Session"
- OPENCODE_E2E_MESSAGE: "Seeded for UI e2e"
- OPENCODE_E2E_MODEL: "opencode/gpt-5-nano"
- - name: Run opencode server
- run: bun run dev -- --print-logs --log-level WARN serve --port 4096 --hostname 0.0.0.0 &
- env:
- MODELS_DEV_API_JSON: ${{ github.workspace }}/packages/opencode/test/tool/fixtures/models-api.json
- OPENCODE_DISABLE_MODELS_FETCH: "true"
- OPENCODE_DISABLE_SHARE: "true"
- OPENCODE_DISABLE_LSP_DOWNLOAD: "true"
- OPENCODE_DISABLE_DEFAULT_PLUGINS: "true"
- OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER: "true"
- OPENCODE_TEST_HOME: ${{ runner.temp }}/opencode-e2e/home
- XDG_DATA_HOME: ${{ runner.temp }}/opencode-e2e/share
- XDG_CACHE_HOME: ${{ runner.temp }}/opencode-e2e/cache
- XDG_CONFIG_HOME: ${{ runner.temp }}/opencode-e2e/config
- XDG_STATE_HOME: ${{ runner.temp }}/opencode-e2e/state
- OPENCODE_CLIENT: "app"
- - name: Wait for opencode server
- run: |
- for i in {1..60}; do
- curl -fsS "http://localhost:4096/global/health" > /dev/null && exit 0
- sleep 1
- done
- exit 1
- - name: run
- run: |
- git config --global user.email "[email protected]"
- git config --global user.name "opencode"
- bun turbo typecheck
- bun turbo test
- env:
- CI: true
- MODELS_DEV_API_JSON: ${{ github.workspace }}/packages/opencode/test/tool/fixtures/models-api.json
- OPENCODE_DISABLE_MODELS_FETCH: "true"
- OPENCODE_DISABLE_SHARE: "true"
- OPENCODE_DISABLE_LSP_DOWNLOAD: "true"
- OPENCODE_DISABLE_DEFAULT_PLUGINS: "true"
- OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER: "true"
- OPENCODE_TEST_HOME: ${{ runner.temp }}/opencode-e2e/home
- XDG_DATA_HOME: ${{ runner.temp }}/opencode-e2e/share
- XDG_CACHE_HOME: ${{ runner.temp }}/opencode-e2e/cache
- XDG_CONFIG_HOME: ${{ runner.temp }}/opencode-e2e/config
- XDG_STATE_HOME: ${{ runner.temp }}/opencode-e2e/state
- PLAYWRIGHT_SERVER_HOST: "localhost"
- PLAYWRIGHT_SERVER_PORT: "4096"
- VITE_OPENCODE_SERVER_HOST: "localhost"
- VITE_OPENCODE_SERVER_PORT: "4096"
- OPENCODE_CLIENT: "app"
- timeout-minutes: 30
|