⚠️ Add warning guidelines and update codebase to follow best practices #6298
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: Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
paths: | |
# Run only when relevant files are modified | |
- ".github/**.yml" | |
- "examples/**.py" | |
- "scripts/**.py" | |
- "tests/**.py" | |
- "trl/**.py" | |
- "setup.py" | |
env: | |
TQDM_DISABLE: 1 | |
CI_SLACK_CHANNEL: ${{ secrets.CI_PUSH_MAIN_CHANNEL }} | |
jobs: | |
check_code_quality: | |
name: Check code quality | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- uses: pre-commit/[email protected] | |
with: | |
extra_args: --all-files | |
tests: | |
name: Tests | |
strategy: | |
matrix: | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
os: ['ubuntu-latest', 'windows-latest'] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
cache-dependency-path: | | |
setup.py | |
requirements.txt | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install ".[dev]" | |
- name: Test with pytest | |
run: | | |
make test | |
- name: Post to Slack | |
if: github.ref == 'refs/heads/main' && always() # Check if the branch is main | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ env.CI_SLACK_CHANNEL }} | |
title: Results with Python ${{ matrix.python-version }} on ${{ matrix.os }} with lastest dependencies | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
tests_dev: | |
name: Tests with dev dependencies | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
cache: "pip" | |
cache-dependency-path: | | |
setup.py | |
requirements.txt | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -U git+https://github.com/huggingface/accelerate.git | |
python -m pip install -U git+https://github.com/huggingface/datasets.git | |
python -m pip install -U git+https://github.com/huggingface/transformers.git | |
python -m pip install ".[dev]" | |
- name: Test with pytest | |
run: | | |
make test | |
- name: Post to Slack | |
if: github.ref == 'refs/heads/main' && always() # Check if the branch is main | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ env.CI_SLACK_CHANNEL }} | |
title: Results with Python 3.12 on ubuntu-latest with dev dependencies | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
tests_wo_optional_deps: | |
name: Tests without optional dependencies | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
cache: "pip" | |
cache-dependency-path: | | |
setup.py | |
requirements.txt | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install ".[test]" | |
- name: Test with pytest | |
run: | | |
make test | |
- name: Post to Slack | |
if: github.ref == 'refs/heads/main' && always() # Check if the branch is main | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ env.CI_SLACK_CHANNEL }} | |
title: Results with Python 3.12 on ubuntu-latest without optional dependencies | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
tests_min_versions: | |
name: Tests with minimum versions | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
cache: "pip" | |
cache-dependency-path: | | |
setup.py | |
requirements.txt | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install accelerate==0.34.0 | |
python -m pip install datasets==2.21.0 | |
python -m pip install transformers==4.46.0 | |
python -m pip install ".[dev]" | |
- name: Test with pytest | |
run: | | |
make test | |
- name: Post to Slack | |
if: github.ref == 'refs/heads/main' && always() # Check if the branch is main | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ env.CI_SLACK_CHANNEL }} | |
title: Results with Python 3.12 on ubuntu-latest with minimum versions | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} |