Hotswap allow different alpha scalings and ranks #4988
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: tests | |
on: | |
push: | |
branches: [main] | |
paths-ignore: | |
- 'docs/**' | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
env: | |
HF_HOME: .cache/huggingface | |
permissions: {} | |
jobs: | |
check_code_quality: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
cache-dependency-path: "setup.py" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install .[dev] | |
- name: Check quality | |
run: | | |
make quality | |
tests: | |
needs: check_code_quality | |
strategy: | |
# TODO: remove 'fail-fast' line once timeout issue from the Hub is solved | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12"] | |
os: ["ubuntu-latest"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Model cache | |
uses: actions/cache/restore@v4 | |
with: | |
# Avoid caching HF_HOME/modules and Python cache files to prevent interoperability | |
# issues and potential cache poisioning. We also avoid lock files to prevent runs | |
# avoiding re-download because they see a lock file. | |
path: | | |
${{ env.HF_HOME }}/hub/** | |
!${{ env.HF_HOME }}/**/*.pyc | |
key: model-cache-${{ github.run_id }} | |
restore-keys: model-cache- | |
enableCrossOsArchive: true | |
- name: Dump cache content | |
# TODO: remove this step after 2025-02-15 | |
if: matrix.os != 'windows-latest' | |
run: | | |
SHASUM=sha256sum | |
[ -f "$(which shasum)" ] && SHASUM=shasum | |
find "${{ env.HF_HOME }}/hub" -type f -exec "$SHASUM" {} \; > cache_content_initial || true | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
cache-dependency-path: "setup.py" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install setuptools | |
# cpu version of pytorch | |
pip install -e .[test] | |
- name: Downgrade numpy on MacOS and Windows | |
# TODO: remove numpy downgrade on MacOS & Windows once torch fixes numpy 2.0 issue | |
shell: bash | |
if: matrix.os == 'windows-latest' || matrix.os == 'macos-13' | |
run: | | |
pip install --force-reinstall -U "numpy<2.0.0" | |
- name: Test with pytest | |
run: | | |
make test | |
- name: Dump cache content and diff | |
# This is just debug info so that we can monitor if the model cache diverges substantially | |
# over time and what the diverging model is. | |
# TODO: remove after 2025-02-15 | |
if: matrix.os != 'windows-latest' | |
run: | | |
SHASUM=sha256sum | |
[ -f "$(which shasum)" ] && SHASUM=shasum | |
find "${{ env.HF_HOME }}/hub" -type f -exec "$SHASUM" {} \; > cache_content_after || true | |
diff -udp cache_content_initial cache_content_after || true | |
- name: Delete old model cache entries | |
run: | | |
# make sure that cache cleaning doesn't break the pipeline | |
python scripts/ci_clean_cache.py -d || true | |
- name: Update model cache | |
uses: actions/cache/save@v4 | |
# Only let one runner (preferably the one that covers most tests) update the model cache | |
# after *every* run. This way we make sure that our cache is never outdated and we don't | |
# have to keep track of hashes. | |
if: always() && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' | |
with: | |
path: | | |
${{ env.HF_HOME }}/hub/** | |
!${{ env.HF_HOME }}/**/*.pyc | |
key: model-cache-${{ github.run_id }} |