This repository was archived by the owner on Dec 20, 2025. It is now read-only.
fix: correct Groq provider detection test to use model string #89
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [ main, master ] | |
| pull_request: | |
| branches: [ main, master ] | |
| env: | |
| MIX_ENV: test | |
| jobs: | |
| test: | |
| name: Test on OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| otp: ['26.0', '27.0', '28.0'] | |
| elixir: ['1.17.3', '1.18.4'] | |
| exclude: | |
| # OTP 28 requires Elixir 1.17+ | |
| - elixir: '1.17.3' | |
| otp: '28.0' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Elixir | |
| uses: erlef/setup-beam@v1 | |
| with: | |
| otp-version: ${{matrix.otp}} | |
| elixir-version: ${{matrix.elixir}} | |
| - name: Restore dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: deps | |
| key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
| restore-keys: ${{ runner.os }}-mix- | |
| - name: Install dependencies | |
| run: mix deps.get | |
| - name: Check formatting | |
| run: mix format --check-formatted | |
| if: matrix.elixir == '1.18.4' && matrix.otp == '27.0' | |
| - name: Run credo | |
| run: mix credo --strict | |
| if: matrix.elixir == '1.18.4' && matrix.otp == '27.0' | |
| - name: Check for unused dependencies | |
| run: mix deps.unlock --check-unused | |
| - name: Compile without warnings | |
| run: mix compile --warnings-as-errors | |
| - name: Run tests (fast CI suite) | |
| run: mix test.ci | |
| - name: Run tests with coverage | |
| run: mix test.ci --cover | |
| if: matrix.elixir == '1.18.4' && matrix.otp == '27.0' | |
| - name: Run security audit | |
| run: mix deps.audit | |
| if: matrix.elixir == '1.18.4' && matrix.otp == '27.0' | |
| dialyzer: | |
| name: Dialyzer | |
| runs-on: ubuntu-latest | |
| env: | |
| MIX_ENV: dev | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Elixir | |
| uses: erlef/setup-beam@v1 | |
| with: | |
| otp-version: '27.0' | |
| elixir-version: '1.17.3' | |
| - name: Restore dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: deps | |
| key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
| restore-keys: ${{ runner.os }}-mix- | |
| - name: Restore PLT cache | |
| uses: actions/cache@v4 | |
| id: plt_cache | |
| with: | |
| path: priv/plts | |
| key: ${{ runner.os }}-plt-${{ hashFiles('**/mix.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-plt- | |
| - name: Install dependencies | |
| run: mix deps.get | |
| - name: Create PLTs | |
| if: steps.plt_cache.outputs.cache-hit != 'true' | |
| run: mix dialyzer --plt | |
| - name: Run dialyzer | |
| run: mix dialyzer --format github |