feat: Add initial support for structured output #74
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
check-branch: | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
concurrency: | |
group: ci-check-branch-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
fetch-depth: 0 | |
- name: Check if the PR's branch is updated | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: osl-incubator/gh-check-pr-is-updated@1.0.0 | |
with: | |
remote_branch: origin/main | |
pr_sha: ${{ github.event.pull_request.head.sha }} | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
python_version: | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
os: | |
- "ubuntu" | |
runs-on: ${{ matrix.os }}-latest | |
timeout-minutes: 20 | |
defaults: | |
run: | |
shell: bash -l {0} | |
concurrency: | |
group: ci-tests-${{ matrix.os }}-${{ matrix.python_version }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-version: latest | |
environment-file: conda/dev.yaml | |
channels: conda-forge,nodefaults | |
activate-environment: rago | |
auto-update-conda: true | |
conda-solver: libmamba | |
python-version: "${{ matrix.python_version }}" | |
- name: Create environment variables for tests | |
run: | | |
pushd tests | |
envsubst < .env.tpl > .env | |
popd | |
- name: Check Poetry lock | |
run: poetry check | |
- name: Install dependencies | |
run: | | |
poetry config virtualenvs.create false | |
poetry install | |
- name: Run unit tests | |
run: makim tests.unit --params '-m "not skip_on_ci" -vvv' | |
- name: Semantic Release PR Title Check | |
uses: osl-incubator/semantic-release-pr-title-check@v1.4.1 | |
if: success() || failure() | |
with: | |
convention-name: conventionalcommits | |
- name: Setup tmate session | |
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}" | |
uses: mxschmitt/action-tmate@v3 | |
linter: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
defaults: | |
run: | |
shell: bash -l {0} | |
concurrency: | |
group: ci-linter-docs-${{ matrix.os }}-${{ matrix.python_version }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-version: latest | |
environment-file: conda/dev.yaml | |
channels: conda-forge,nodefaults | |
activate-environment: rago | |
auto-update-conda: true | |
conda-solver: libmamba | |
python-version: "3.9" | |
- name: Install dependencies | |
run: | | |
poetry config virtualenvs.create false | |
poetry install | |
- name: Run style checks | |
if: success() || failure() | |
run: | | |
pre-commit install | |
makim tests.linter | |
- name: Setup tmate session | |
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}" | |
uses: mxschmitt/action-tmate@v3 |