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' }}"