Add macos cross-compile CI coverage

This commit is contained in:
Daniel Hiltgen 2024-01-14 09:19:45 -08:00
parent 95ad9a9fc8
commit b3035112a1

View file

@ -8,7 +8,15 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
arch: [amd64, arm64]
exclude:
- os: ubuntu-latest
arch: arm64
- os: windows-latest
arch: arm64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
env:
GOARCH: ${{ matrix.arch }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-go@v4 - uses: actions/setup-go@v4
@ -33,7 +41,7 @@ jobs:
- run: go generate -x ./... - run: go generate -x ./...
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: ${{ matrix.os }}-libraries name: ${{ matrix.os }}-${{ matrix.arch }}-libraries
path: | path: |
llm/llama.cpp/build/**/lib/* llm/llama.cpp/build/**/lib/*
lint: lint:
@ -41,7 +49,18 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
arch: [amd64, arm64]
exclude:
- os: ubuntu-latest
arch: arm64
- os: windows-latest
arch: arm64
- os: macos-latest
arch: amd64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
env:
GOARCH: ${{ matrix.arch }}
CGO_ENABLED: "1"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -52,7 +71,7 @@ jobs:
cache: false cache: false
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: ${{ matrix.os }}-libraries name: ${{ matrix.os }}-${{ matrix.arch }}-libraries
path: llm/llama.cpp/build path: llm/llama.cpp/build
- uses: golangci/golangci-lint-action@v3 - uses: golangci/golangci-lint-action@v3
test: test:
@ -60,6 +79,12 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
arch: [amd64, arm64]
exclude:
- os: ubuntu-latest
arch: arm64
- os: windows-latest
arch: arm64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -72,7 +97,7 @@ jobs:
- run: go get - run: go get
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: ${{ matrix.os }}-libraries name: ${{ matrix.os }}-${{ matrix.arch }}-libraries
path: llm/llama.cpp/build path: llm/llama.cpp/build
- run: go build - run: go build
- run: go test -v ./... - run: go test -v ./...