| name: tests_npu | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - "main" | |
| paths: | |
| - "**/*.py" | |
| - "requirements.txt" | |
| - "Makefile" | |
| - ".github/workflows/*.yml" | |
| pull_request: | |
| branches: | |
| - "main" | |
| paths: | |
| - "**/*.py" | |
| - "requirements.txt" | |
| - "Makefile" | |
| - ".github/workflows/*.yml" | |
| jobs: | |
| tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: | |
| - "3.11" | |
| os: | |
| - "linux-aarch64-a2-4" | |
| pytorch_npu: | |
| - "2.7.1" | |
| runs-on: ${{ matrix.os }} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.python }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| container: | |
| image: ascendai/cann:8.3.rc2-910b-ubuntu22.04-py3.11 | |
| env: | |
| HF_ENDPOINT: https://hf-mirror.com | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| OS_NAME: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install ".[torch-npu,dev]" torch-npu==${{matrix.pytorch_npu}} | |
| - name: Install node | |
| run: | | |
| apt-get update || true | |
| apt-get install -y curl | |
| curl -fsSL https://deb.nodesource.com/setup_20.x | bash - | |
| apt-get install -y nodejs | |
| - 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: /root/.cache/huggingface | |
| HF_HUB_OFFLINE: "${{ steps.hf-hub-cache.outputs.cache-hit == 'true' && '1' || '0' }}" | |