[callback] Add flexible callback system with YAML configuration, HuggingFace Trainer support, and usage examples #10
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: tests | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - "main" | |
| paths: | |
| - "**/*.py" | |
| - "requirements.txt" | |
| - ".github/workflows/*.yml" | |
| pull_request: | |
| branches: | |
| - "main" | |
| paths: | |
| - "**/*.py" | |
| - "requirements.txt" | |
| - ".github/workflows/*.yml" | |
| jobs: | |
| tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: | |
| - "3.9" | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| os: | |
| - "ubuntu-latest" | |
| - "windows-latest" | |
| - "macos-13" | |
| transformers: | |
| - null | |
| include: # test backward compatibility | |
| - python: "3.9" | |
| os: "ubuntu-latest" | |
| transformers: "4.49.0" | |
| - python: "3.9" | |
| os: "ubuntu-latest" | |
| transformers: "4.51.0" | |
| runs-on: ${{ matrix.os }} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.python }}-${{ matrix.transformers }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| OS_NAME: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| cache: "pip" | |
| cache-dependency-path: "**/requirements*.txt" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install ".[torch,dev]" | |
| - name: Install transformers | |
| if: ${{ matrix.transformers }} | |
| run: | | |
| python -m pip install "transformers==${{ matrix.transformers }}" | |
| - name: Install transformers to avoid mac os ci errors | |
| if: ${{ matrix.os == 'macos-13' }} | |
| run: | | |
| python -m pip install "transformers<=4.51.3" | |
| - name: Cache files | |
| id: hf-hub-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ runner.temp }}/huggingface | |
| key: huggingface-${{ matrix.os }}-${{ matrix.python }}-${{ matrix.transformers }}-${{ hashFiles('tests/version.txt') }} | |
| - name: Check quality | |
| run: | | |
| make style && make quality | |
| - name: Check license | |
| run: | | |
| make license | |
| - name: Check build | |
| run: | | |
| make build | |
| - name: Test with pytest | |
| run: | | |
| make test | |
| env: | |
| HF_HOME: ${{ runner.temp }}/huggingface | |
| HF_HUB_OFFLINE: "${{ steps.hf-hub-cache.outputs.cache-hit == 'true' && '1' || '0' }}" |