mirror of
https://github.com/hiyouga/LLaMA-Factory.git
synced 2025-07-31 10:42:50 +08:00
86 lines
1.9 KiB
YAML
86 lines
1.9 KiB
YAML
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"
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.python }}
|
|
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: "setup.py"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install ".[torch,dev]"
|
|
|
|
- name: Cache files
|
|
id: hf-hub-cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ runner.temp }}/huggingface
|
|
key: huggingface-${{ matrix.os }}-${{ matrix.python }}-${{ 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' }}"
|