@@ -14,11 +14,25 @@ concurrency:
1414 cancel-in-progress : true
1515
1616jobs :
17- image-build :
17+ cuda-image-build :
18+ uses : ./.github/workflows/image_build.yml
19+ with :
20+ tag-latest : ${{ matrix.tag-latest }}
21+ tag-suffix : ${{ matrix.tag-suffix }}
22+ ffmpeg : ${{ matrix.ffmpeg }}
23+ image-type : ${{ matrix.image-type }}
24+ build-type : ${{ matrix.build-type }}
25+ cuda-major-version : ${{ matrix.cuda-major-version }}
26+ cuda-minor-version : ${{ matrix.cuda-minor-version }}
27+ platforms : ${{ matrix.platforms }}
28+ runs-on : ${{ matrix.runs-on }}
29+ secrets :
30+ dockerUsername : ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
31+ dockerPassword : ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
1832 strategy :
1933 # Pushing with all jobs in parallel
2034 # eats the bandwidth of all the nodes
21- max-parallel : ${{ github.event_name != 'pull_request' && 1 || 4 }}
35+ max-parallel : ${{ github.event_name != 'pull_request' && 2 || 4 }}
2236 matrix :
2337 include :
2438 - build-type : ' '
8094 ffmpeg : ' '
8195 image-type : ' extras'
8296 runs-on : ' arc-runner-set'
97+ cpu-image-build :
98+ uses : ./.github/workflows/image_build.yml
99+ with :
100+ tag-latest : ${{ matrix.tag-latest }}
101+ tag-suffix : ${{ matrix.tag-suffix }}
102+ ffmpeg : ${{ matrix.ffmpeg }}
103+ image-type : ${{ matrix.image-type }}
104+ build-type : ${{ matrix.build-type }}
105+ cuda-major-version : ${{ matrix.cuda-major-version }}
106+ cuda-minor-version : ${{ matrix.cuda-minor-version }}
107+ platforms : ${{ matrix.platforms }}
108+ runs-on : ${{ matrix.runs-on }}
109+ secrets :
110+ dockerUsername : ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
111+ dockerPassword : ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
112+ strategy :
113+ matrix :
114+ include :
83115 - build-type : ' '
84116 platforms : ' linux/amd64'
85117 tag-latest : ' false'
@@ -123,98 +155,3 @@ jobs:
123155 ffmpeg : ' true'
124156 image-type : ' core'
125157 runs-on : ' ubuntu-latest'
126-
127- runs-on : ${{ matrix.runs-on }}
128- steps :
129- - name : Force Install GIT latest
130- run : |
131- sudo apt-get update \
132- && sudo apt-get install -y software-properties-common \
133- && sudo apt-get update \
134- && sudo add-apt-repository -y ppa:git-core/ppa \
135- && sudo apt-get update \
136- && sudo apt-get install -y git
137- - name : Checkout
138- uses : actions/checkout@v4
139- # - name: Release space from worker
140- # run: |
141- # echo "Listing top largest packages"
142- # pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr)
143- # head -n 30 <<< "${pkgs}"
144- # echo
145- # df -h
146- # echo
147- # sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true
148- # sudo apt-get remove --auto-remove android-sdk-platform-tools || true
149- # sudo apt-get purge --auto-remove android-sdk-platform-tools || true
150- # sudo rm -rf /usr/local/lib/android
151- # sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true
152- # sudo rm -rf /usr/share/dotnet
153- # sudo apt-get remove -y '^mono-.*' || true
154- # sudo apt-get remove -y '^ghc-.*' || true
155- # sudo apt-get remove -y '.*jdk.*|.*jre.*' || true
156- # sudo apt-get remove -y 'php.*' || true
157- # sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true
158- # sudo apt-get remove -y '^google-.*' || true
159- # sudo apt-get remove -y azure-cli || true
160- # sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true
161- # sudo apt-get remove -y '^gfortran-.*' || true
162- # sudo apt-get remove -y microsoft-edge-stable || true
163- # sudo apt-get remove -y firefox || true
164- # sudo apt-get remove -y powershell || true
165- # sudo apt-get remove -y r-base-core || true
166- # sudo apt-get autoremove -y
167- # sudo apt-get clean
168- # echo
169- # echo "Listing top largest packages"
170- # pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr)
171- # head -n 30 <<< "${pkgs}"
172- # echo
173- # sudo rm -rfv build || true
174- # df -h
175- - name : Docker meta
176- id : meta
177- uses : docker/metadata-action@v5
178- with :
179- images : quay.io/go-skynet/local-ai
180- tags : |
181- type=ref,event=branch
182- type=semver,pattern={{raw}}
183- type=sha
184- flavor : |
185- latest=${{ matrix.tag-latest }}
186- suffix=${{ matrix.tag-suffix }}
187-
188- - name : Set up QEMU
189- uses : docker/setup-qemu-action@master
190- with :
191- platforms : all
192-
193- - name : Set up Docker Buildx
194- id : buildx
195- uses : docker/setup-buildx-action@master
196-
197- - name : Login to DockerHub
198- if : github.event_name != 'pull_request'
199- uses : docker/login-action@v3
200- with :
201- registry : quay.io
202- username : ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
203- password : ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
204-
205- - name : Build and push
206- uses : docker/build-push-action@v5
207- with :
208- builder : ${{ steps.buildx.outputs.name }}
209- build-args : |
210- BUILD_TYPE=${{ matrix.build-type }}
211- CUDA_MAJOR_VERSION=${{ matrix.cuda-major-version }}
212- CUDA_MINOR_VERSION=${{ matrix.cuda-minor-version }}
213- FFMPEG=${{ matrix.ffmpeg }}
214- IMAGE_TYPE=${{ matrix.image-type }}
215- context : .
216- file : ./Dockerfile
217- platforms : ${{ matrix.platforms }}
218- push : ${{ github.event_name != 'pull_request' }}
219- tags : ${{ steps.meta.outputs.tags }}
220- labels : ${{ steps.meta.outputs.labels }}
0 commit comments