|
|
@@ -21,6 +21,118 @@ env:
|
|
|
GGML_N_THREADS: 1
|
|
|
|
|
|
jobs:
|
|
|
+ macOS-latest-cmake-arm64:
|
|
|
+ runs-on: macos-14
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - name: Clone
|
|
|
+ id: checkout
|
|
|
+ uses: actions/checkout@v3
|
|
|
+
|
|
|
+ - name: Dependencies
|
|
|
+ id: depends
|
|
|
+ continue-on-error: true
|
|
|
+ run: |
|
|
|
+ brew update
|
|
|
+
|
|
|
+ - name: Build
|
|
|
+ id: cmake_build
|
|
|
+ run: |
|
|
|
+ sysctl -a
|
|
|
+ mkdir build
|
|
|
+ cd build
|
|
|
+ cmake -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_METAL_EMBED_LIBRARY=ON ..
|
|
|
+ cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
|
|
|
+
|
|
|
+ - name: Test
|
|
|
+ id: cmake_test
|
|
|
+ run: |
|
|
|
+ cd build
|
|
|
+ ctest -L main --verbose --timeout 900
|
|
|
+
|
|
|
+ - name: Determine tag name
|
|
|
+ id: tag
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ BUILD_NUMBER="$(git rev-list --count HEAD)"
|
|
|
+ SHORT_HASH="$(git rev-parse --short=7 HEAD)"
|
|
|
+ if [[ "${{ env.BRANCH_NAME }}" == "master" ]]; then
|
|
|
+ echo "name=b${BUILD_NUMBER}" >> $GITHUB_OUTPUT
|
|
|
+ else
|
|
|
+ SAFE_NAME=$(echo "${{ env.BRANCH_NAME }}" | tr '/' '-')
|
|
|
+ echo "name=${SAFE_NAME}-b${BUILD_NUMBER}-${SHORT_HASH}" >> $GITHUB_OUTPUT
|
|
|
+ fi
|
|
|
+
|
|
|
+ - name: Pack artifacts
|
|
|
+ id: pack_artifacts
|
|
|
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ run: |
|
|
|
+ cp LICENSE ./build/bin/
|
|
|
+ zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/*
|
|
|
+
|
|
|
+ - name: Upload artifacts
|
|
|
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
+ with:
|
|
|
+ path: |
|
|
|
+ llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip
|
|
|
+
|
|
|
+ macOS-latest-cmake-x64:
|
|
|
+ runs-on: macos-latest
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - name: Clone
|
|
|
+ id: checkout
|
|
|
+ uses: actions/checkout@v3
|
|
|
+
|
|
|
+ - name: Dependencies
|
|
|
+ id: depends
|
|
|
+ continue-on-error: true
|
|
|
+ run: |
|
|
|
+ brew update
|
|
|
+
|
|
|
+ - name: Build
|
|
|
+ id: cmake_build
|
|
|
+ run: |
|
|
|
+ sysctl -a
|
|
|
+ mkdir build
|
|
|
+ cd build
|
|
|
+ cmake -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_METAL_EMBED_LIBRARY=ON ..
|
|
|
+ cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
|
|
|
+
|
|
|
+ - name: Test
|
|
|
+ id: cmake_test
|
|
|
+ run: |
|
|
|
+ cd build
|
|
|
+ ctest -L main --verbose --timeout 900
|
|
|
+
|
|
|
+ - name: Determine tag name
|
|
|
+ id: tag
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ BUILD_NUMBER="$(git rev-list --count HEAD)"
|
|
|
+ SHORT_HASH="$(git rev-parse --short=7 HEAD)"
|
|
|
+ if [[ "${{ env.BRANCH_NAME }}" == "master" ]]; then
|
|
|
+ echo "name=b${BUILD_NUMBER}" >> $GITHUB_OUTPUT
|
|
|
+ else
|
|
|
+ SAFE_NAME=$(echo "${{ env.BRANCH_NAME }}" | tr '/' '-')
|
|
|
+ echo "name=${SAFE_NAME}-b${BUILD_NUMBER}-${SHORT_HASH}" >> $GITHUB_OUTPUT
|
|
|
+ fi
|
|
|
+
|
|
|
+ - name: Pack artifacts
|
|
|
+ id: pack_artifacts
|
|
|
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ run: |
|
|
|
+ cp LICENSE ./build/bin/
|
|
|
+ zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/*
|
|
|
+
|
|
|
+ - name: Upload artifacts
|
|
|
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
+ with:
|
|
|
+ path: |
|
|
|
+ llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip
|
|
|
+
|
|
|
ubuntu-focal-make:
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
|
|
@@ -748,6 +860,8 @@ jobs:
|
|
|
- macOS-latest-cmake
|
|
|
- windows-latest-cmake
|
|
|
- windows-latest-cmake-cublas
|
|
|
+ - macOS-latest-cmake-arm64
|
|
|
+ - macOS-latest-cmake-x64
|
|
|
|
|
|
steps:
|
|
|
- name: Clone
|