# This workflow should be run manually when needing to re-record tests. This happens when you have # - added a new test # - or changed an existing test such that a new inference call is made # You should make a PR and then run this workflow on that PR branch. The workflow will re-record the # tests and commit the recordings to the PR branch. name: Integration Tests (Record) run-name: Run the integration test suite from tests/integration on: workflow_dispatch: inputs: test-subdirs: description: 'Comma-separated list of test subdirectories to run' type: string default: '' test-provider: description: 'Test against a specific provider' type: string default: 'ollama' run-vision-tests: description: 'Whether to run vision tests' type: boolean default: false test-pattern: description: 'Regex pattern to pass to pytest -k' type: string default: '' jobs: record-tests: runs-on: ubuntu-latest permissions: contents: write steps: - name: Echo workflow inputs run: | echo "::group::Workflow Inputs" echo "test-subdirs: ${{ inputs.test-subdirs }}" echo "test-provider: ${{ inputs.test-provider }}" echo "run-vision-tests: ${{ inputs.run-vision-tests }}" echo "test-pattern: ${{ inputs.test-pattern }}" echo "branch: ${{ github.ref_name }}" echo "::endgroup::" - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - name: Setup test environment uses: ./.github/actions/setup-test-environment with: python-version: "3.12" # Use single Python version for recording client-version: "latest" provider: ${{ inputs.test-provider || 'ollama' }} run-vision-tests: ${{ inputs.run-vision-tests }} inference-mode: 'record' - name: Run and record tests uses: ./.github/actions/run-and-record-tests with: test-pattern: ${{ inputs.test-pattern }} test-subdirs: ${{ inputs.test-subdirs }} stack-config: 'server:ci-tests' # recording must be done with server since more tests are run provider: ${{ inputs.test-provider || 'ollama' }} inference-mode: 'record' run-vision-tests: ${{ inputs.run-vision-tests }}