name: build-wheels-cpu-macos on: push: branches: # - wheel - torch-2.8.0 tags: - '*' workflow_dispatch: concurrency: group: build-wheels-cpu-macos-${{ github.ref }} cancel-in-progress: true jobs: generate_build_matrix: # see https://github.com/pytorch/pytorch/pull/50633 runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Generating build matrix id: set-matrix run: | # outputting for debugging purposes # python ./scripts/github_actions/generate_build_matrix.py --for-macos # MATRIX=$(python ./scripts/github_actions/generate_build_matrix.py --for-macos) python ./scripts/github_actions/generate_build_matrix.py --for-macos --test-only-latest-torch MATRIX=$(python ./scripts/github_actions/generate_build_matrix.py --for-macos --test-only-latest-torch) echo "::set-output name=matrix::${MATRIX}" build_wheels_macos_cpu: needs: generate_build_matrix name: ${{ matrix.torch }} ${{ matrix.python-version }} runs-on: macos-14 strategy: fail-fast: false matrix: ${{ fromJson(needs.generate_build_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies shell: bash run: | pip install -q torch==${{ matrix.torch}} cmake numpy wheel>=0.40.0 twine setuptools - name: Build wheel shell: bash run: | python3 setup.py bdist_wheel mkdir wheelhouse cp -v dist/* wheelhouse - name: Display wheels (before fix) shell: bash run: | ls -lh ./wheelhouse/ - name: Fix wheel platform tag run: | # See https://github.com/glencoesoftware/zeroc-ice-py-macos-x86_64/pull/3/files # See: # * https://github.com/pypa/wheel/issues/406 python -m wheel tags \ --platform-tag=macosx_11_0_arm64 \ --remove wheelhouse/*.whl - name: Display wheels (after fix) shell: bash run: | ls -lh ./wheelhouse/ - name: Upload Wheel uses: actions/upload-artifact@v4 with: name: torch-${{ matrix.torch }}-python-${{ matrix.python-version }}-macos-latest-cpu path: wheelhouse/*.whl # https://huggingface.co/docs/hub/spaces-github-actions - name: Publish to huggingface if: github.repository_owner == 'csukuangfj' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} uses: nick-fields/retry@v2 with: max_attempts: 20 timeout_seconds: 200 shell: bash command: | git config --global user.email "csukuangfj@gmail.com" git config --global user.name "Fangjun Kuang" rm -rf huggingface export GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/kaldifeat huggingface cd huggingface git pull d=cpu/1.25.5.dev20241029/macos mkdir -p $d cp -v ../wheelhouse/*.whl ./$d git status git lfs track "*.whl" git add . git commit -m "upload macos wheel for torch ${{ matrix.torch }} python ${{ matrix.python-version }}" git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/kaldifeat main