Compile OpenBLAS on Linux - 60cbff31f4f26d3e0031a8f05be0883d01832e5f #7
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: Compile OpenBLAS on Linux | |
run-name: Compile OpenBLAS on Linux - ${{ github.sha }} | |
on: push | |
jobs: | |
compile_openblas: | |
strategy: | |
matrix: | |
arch: | |
- [x86_64, manylinux2014_x86_64, HASWELL, amd64] | |
- [aarch64, manylinux2014_aarch64, ARMV8, arm64] | |
name: ${{ matrix.arch[0] }} | |
runs-on: ubuntu-latest | |
timeout-minutes: 600 # NOTE: need this to compile the arm64 version | |
steps: | |
- name: Set up QEMU | |
uses: docker/[email protected] | |
with: | |
platforms: ${{ matrix.arch[3] }} | |
- name: Compile OpenBLAS | |
run: | | |
curl -L -o OpenBLAS-0.3.27.tar.gz https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.27/OpenBLAS-0.3.27.tar.gz | |
tar -xzf OpenBLAS-0.3.27.tar.gz | |
docker create --name=openblas_${{ matrix.arch[0] }} -i --volume=${GITHUB_WORKSPACE}:/host quay.io/pypa/${{ matrix.arch[1] }}:latest /bin/bash | |
docker start openblas_${{ matrix.arch[0] }} | |
docker exec -i openblas_${{ matrix.arch[0] }} sh -c "make -C /host/OpenBLAS-0.3.27 TARGET=${{ matrix.arch[2] }} DYNAMIC_ARCH=1" | |
docker exec -i openblas_${{ matrix.arch[0] }} sh -c "make install -C /host/OpenBLAS-0.3.27 PREFIX=/host/OpenBLAS" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: OpenBLAS_linux_${{ matrix.arch[0] }} | |
path: ./OpenBLAS | |
if-no-files-found: error | |
run_id: | |
name: Create/Update OPENBLAS_LINUX_ARTIFACTS_RUN_ID secret | |
runs-on: ubuntu-latest | |
needs: [compile_openblas] | |
steps: | |
- uses: actions/checkout@v4 | |
- run: | | |
gh secret set OPENBLAS_LINUX_ARTIFACTS_RUN_ID --body ${{ github.run_id }} | |
env: | |
GH_TOKEN: ${{ secrets.GH_PAT }} |