@@ -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
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 :
0 commit comments