Skip to content

Commit d9a42cc

Browse files
authored
ci: run only cublas on selfhosted (#1224)
* ci: run only cublas on selfhosted Signed-off-by: Ettore Di Giacinto <[email protected]> * debug Signed-off-by: Ettore Di Giacinto <[email protected]> * update git Signed-off-by: Ettore Di Giacinto <[email protected]> * change testing embeddings model link Signed-off-by: Ettore Di Giacinto <[email protected]> --------- Signed-off-by: Ettore Di Giacinto <[email protected]>
1 parent fc0bc32 commit d9a42cc

File tree

3 files changed

+108
-9
lines changed

3 files changed

+108
-9
lines changed

.github/workflows/image.yml

Lines changed: 106 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,103 @@ jobs:
2424
tag-latest: 'auto'
2525
tag-suffix: ''
2626
ffmpeg: ''
27+
- build-type: ''
28+
platforms: 'linux/amd64'
29+
tag-latest: 'false'
30+
tag-suffix: '-ffmpeg'
31+
ffmpeg: 'true'
32+
33+
runs-on: ubuntu-latest
34+
steps:
35+
- name: Checkout
36+
uses: actions/checkout@v4
37+
- name: Release space from worker
38+
run: |
39+
echo "Listing top largest packages"
40+
pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr)
41+
head -n 30 <<< "${pkgs}"
42+
echo
43+
df -h
44+
echo
45+
sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true
46+
sudo apt-get remove --auto-remove android-sdk-platform-tools || true
47+
sudo apt-get purge --auto-remove android-sdk-platform-tools || true
48+
sudo rm -rf /usr/local/lib/android
49+
sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true
50+
sudo rm -rf /usr/share/dotnet
51+
sudo apt-get remove -y '^mono-.*' || true
52+
sudo apt-get remove -y '^ghc-.*' || true
53+
sudo apt-get remove -y '.*jdk.*|.*jre.*' || true
54+
sudo apt-get remove -y 'php.*' || true
55+
sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true
56+
sudo apt-get remove -y '^google-.*' || true
57+
sudo apt-get remove -y azure-cli || true
58+
sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true
59+
sudo apt-get remove -y '^gfortran-.*' || true
60+
sudo apt-get remove -y microsoft-edge-stable || true
61+
sudo apt-get remove -y firefox || true
62+
sudo apt-get remove -y powershell || true
63+
sudo apt-get remove -y r-base-core || true
64+
sudo apt-get autoremove -y
65+
sudo apt-get clean
66+
echo
67+
echo "Listing top largest packages"
68+
pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr)
69+
head -n 30 <<< "${pkgs}"
70+
echo
71+
sudo rm -rfv build || true
72+
df -h
73+
- name: Docker meta
74+
id: meta
75+
uses: docker/metadata-action@v5
76+
with:
77+
images: quay.io/go-skynet/local-ai
78+
tags: |
79+
type=ref,event=branch
80+
type=semver,pattern={{raw}}
81+
type=sha
82+
flavor: |
83+
latest=${{ matrix.tag-latest }}
84+
suffix=${{ matrix.tag-suffix }}
85+
86+
- name: Set up QEMU
87+
uses: docker/setup-qemu-action@master
88+
with:
89+
platforms: all
90+
91+
- name: Set up Docker Buildx
92+
id: buildx
93+
uses: docker/setup-buildx-action@master
94+
95+
- name: Login to DockerHub
96+
if: github.event_name != 'pull_request'
97+
uses: docker/login-action@v3
98+
with:
99+
registry: quay.io
100+
username: ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
101+
password: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
102+
103+
- name: Build and push
104+
uses: docker/build-push-action@v5
105+
with:
106+
builder: ${{ steps.buildx.outputs.name }}
107+
build-args: |
108+
BUILD_TYPE=${{ matrix.build-type }}
109+
CUDA_MAJOR_VERSION=${{ matrix.cuda-major-version }}
110+
CUDA_MINOR_VERSION=${{ matrix.cuda-minor-version }}
111+
FFMPEG=${{ matrix.ffmpeg }}
112+
context: .
113+
file: ./Dockerfile
114+
platforms: ${{ matrix.platforms }}
115+
push: ${{ github.event_name != 'pull_request' }}
116+
tags: ${{ steps.meta.outputs.tags }}
117+
labels: ${{ steps.meta.outputs.labels }}
118+
119+
120+
docker-gpu:
121+
strategy:
122+
matrix:
123+
include:
27124
- build-type: 'cublas'
28125
cuda-major-version: 11
29126
cuda-minor-version: 7
@@ -38,11 +135,6 @@ jobs:
38135
tag-latest: 'false'
39136
tag-suffix: '-cublas-cuda12'
40137
ffmpeg: ''
41-
- build-type: ''
42-
platforms: 'linux/amd64'
43-
tag-latest: 'false'
44-
tag-suffix: '-ffmpeg'
45-
ffmpeg: 'true'
46138
- build-type: 'cublas'
47139
cuda-major-version: 11
48140
cuda-minor-version: 7
@@ -58,8 +150,16 @@ jobs:
58150
tag-suffix: '-cublas-cuda12-ffmpeg'
59151
ffmpeg: 'true'
60152

61-
runs-on: docker-build
153+
runs-on: arc-runner-set
62154
steps:
155+
- name: Force Install GIT latest
156+
run: |
157+
sudo apt-get update \
158+
&& sudo apt-get install -y software-properties-common \
159+
&& sudo apt-get update \
160+
&& sudo add-apt-repository -y ppa:git-core/ppa \
161+
&& sudo apt-get update \
162+
&& sudo apt-get install -y git
63163
- name: Checkout
64164
uses: actions/checkout@v4
65165

@@ -92,7 +192,6 @@ jobs:
92192
registry: quay.io
93193
username: ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
94194
password: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
95-
96195
- name: Build and push
97196
uses: docker/build-push-action@v5
98197
with:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ test-models/testmodel:
292292
mkdir test-dir
293293
wget https://huggingface.co/nnakasato/ggml-model-test/resolve/main/ggml-model-q4.bin -O test-models/testmodel
294294
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin -O test-models/whisper-en
295-
wget https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-q4_0.bin -O test-models/bert
295+
wget https://huggingface.co/mudler/all-MiniLM-L6-v2/resolve/main/ggml-model-q4_0.bin -O test-models/bert
296296
wget https://cdn.openai.com/whisper/draft-20220913a/micro-machines.wav -O test-dir/audio.wav
297297
wget https://huggingface.co/mudler/rwkv-4-raven-1.5B-ggml/resolve/main/RWKV-4-Raven-1B5-v11-Eng99%2525-Other1%2525-20230425-ctx4096_Q4_0.bin -O test-models/rwkv
298298
wget https://raw.githubusercontent.com/saharNooby/rwkv.cpp/5eb8f09c146ea8124633ab041d9ea0b1f1db4459/rwkv/20B_tokenizer.json -O test-models/rwkv.tokenizer.json

api/api_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ var _ = Describe("API test", func() {
687687
Input: []string{"sun", "cat"},
688688
},
689689
)
690-
Expect(err).ToNot(HaveOccurred())
690+
Expect(err).ToNot(HaveOccurred(), err)
691691
Expect(len(resp.Data[0].Embedding)).To(BeNumerically("==", 384))
692692
Expect(len(resp.Data[1].Embedding)).To(BeNumerically("==", 384))
693693

0 commit comments

Comments
 (0)