fix(install.sh): correctly handle systemd service installation (#2627) #4910
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: 'build container images' | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- '*' | |
concurrency: | |
group: ci-${{ github.head_ref || github.ref }}-${{ github.repository }} | |
cancel-in-progress: true | |
jobs: | |
self-hosted-jobs: | |
uses: ./.github/workflows/image_build.yml | |
with: | |
tag-latest: ${{ matrix.tag-latest }} | |
tag-suffix: ${{ matrix.tag-suffix }} | |
ffmpeg: ${{ matrix.ffmpeg }} | |
image-type: ${{ matrix.image-type }} | |
build-type: ${{ matrix.build-type }} | |
cuda-major-version: ${{ matrix.cuda-major-version }} | |
cuda-minor-version: ${{ matrix.cuda-minor-version }} | |
platforms: ${{ matrix.platforms }} | |
runs-on: ${{ matrix.runs-on }} | |
base-image: ${{ matrix.base-image }} | |
grpc-base-image: ${{ matrix.grpc-base-image }} | |
aio: ${{ matrix.aio }} | |
makeflags: ${{ matrix.makeflags }} | |
latest-image: ${{ matrix.latest-image }} | |
latest-image-aio: ${{ matrix.latest-image-aio }} | |
secrets: | |
dockerUsername: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerPassword: ${{ secrets.DOCKERHUB_PASSWORD }} | |
quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} | |
quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} | |
strategy: | |
# Pushing with all jobs in parallel | |
# eats the bandwidth of all the nodes | |
max-parallel: ${{ github.event_name != 'pull_request' && 2 || 4 }} | |
matrix: | |
include: | |
# Extra images | |
- build-type: '' | |
#platforms: 'linux/amd64,linux/arm64' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '' | |
ffmpeg: '' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: '' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "11" | |
cuda-minor-version: "8" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda11' | |
ffmpeg: '' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "12" | |
cuda-minor-version: "5" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda12' | |
ffmpeg: '' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "11" | |
cuda-minor-version: "8" | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '-cublas-cuda11-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
aio: "-aio-gpu-nvidia-cuda-11" | |
latest-image: 'latest-gpu-nvidia-cuda-11' | |
latest-image-aio: 'latest-aio-gpu-nvidia-cuda-11' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "12" | |
cuda-minor-version: "5" | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '-cublas-cuda12-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
base-image: "ubuntu:22.04" | |
aio: "-aio-gpu-nvidia-cuda-12" | |
latest-image: 'latest-gpu-nvidia-cuda-12' | |
latest-image-aio: 'latest-aio-gpu-nvidia-cuda-12' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: '' | |
#platforms: 'linux/amd64,linux/arm64' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '' | |
ffmpeg: '' | |
image-type: 'extras' | |
base-image: "ubuntu:22.04" | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'hipblas' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
tag-suffix: '-hipblas-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
aio: "-aio-gpu-hipblas" | |
base-image: "rocm/dev-ubuntu-22.04:6.1" | |
grpc-base-image: "ubuntu:22.04" | |
latest-image: 'latest-gpu-hipblas' | |
latest-image-aio: 'latest-aio-gpu-hipblas' | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'hipblas' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-hipblas' | |
ffmpeg: 'false' | |
image-type: 'extras' | |
base-image: "rocm/dev-ubuntu-22.04:6.1" | |
grpc-base-image: "ubuntu:22.04" | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'sycl_f16' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f16-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
aio: "-aio-gpu-intel-f16" | |
latest-image: 'latest-gpu-intel-f16' | |
latest-image-aio: 'latest-aio-gpu-intel-f16' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'sycl_f32' | |
platforms: 'linux/amd64' | |
tag-latest: 'auto' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f32-ffmpeg' | |
ffmpeg: 'true' | |
image-type: 'extras' | |
runs-on: 'arc-runner-set' | |
aio: "-aio-gpu-intel-f32" | |
latest-image: 'latest-gpu-intel-f32' | |
latest-image-aio: 'latest-aio-gpu-intel-f32' | |
makeflags: "--jobs=3 --output-sync=target" | |
# Core images | |
- build-type: 'sycl_f16' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f16-core' | |
ffmpeg: 'false' | |
image-type: 'core' | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'sycl_f32' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f32-core' | |
ffmpeg: 'false' | |
image-type: 'core' | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'sycl_f16' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f16-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'sycl_f32' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
base-image: "quay.io/go-skynet/intel-oneapi-base:latest" | |
grpc-base-image: "ubuntu:22.04" | |
tag-suffix: '-sycl-f32-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'hipblas' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-hipblas-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
base-image: "rocm/dev-ubuntu-22.04:6.1" | |
grpc-base-image: "ubuntu:22.04" | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
- build-type: 'hipblas' | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-hipblas-core' | |
ffmpeg: 'false' | |
image-type: 'core' | |
base-image: "rocm/dev-ubuntu-22.04:6.1" | |
grpc-base-image: "ubuntu:22.04" | |
runs-on: 'arc-runner-set' | |
makeflags: "--jobs=3 --output-sync=target" | |
core-image-build: | |
uses: ./.github/workflows/image_build.yml | |
with: | |
tag-latest: ${{ matrix.tag-latest }} | |
tag-suffix: ${{ matrix.tag-suffix }} | |
ffmpeg: ${{ matrix.ffmpeg }} | |
image-type: ${{ matrix.image-type }} | |
build-type: ${{ matrix.build-type }} | |
cuda-major-version: ${{ matrix.cuda-major-version }} | |
cuda-minor-version: ${{ matrix.cuda-minor-version }} | |
platforms: ${{ matrix.platforms }} | |
runs-on: ${{ matrix.runs-on }} | |
aio: ${{ matrix.aio }} | |
base-image: ${{ matrix.base-image }} | |
grpc-base-image: ${{ matrix.grpc-base-image }} | |
makeflags: ${{ matrix.makeflags }} | |
latest-image: ${{ matrix.latest-image }} | |
latest-image-aio: ${{ matrix.latest-image-aio }} | |
secrets: | |
dockerUsername: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerPassword: ${{ secrets.DOCKERHUB_PASSWORD }} | |
quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} | |
quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} | |
strategy: | |
matrix: | |
include: | |
- build-type: '' | |
platforms: 'linux/amd64,linux/arm64' | |
tag-latest: 'auto' | |
tag-suffix: '-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
base-image: "ubuntu:22.04" | |
runs-on: 'ubuntu-latest' | |
aio: "-aio-cpu" | |
latest-image: 'latest-cpu' | |
latest-image-aio: 'latest-aio-cpu' | |
makeflags: "--jobs=4 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "11" | |
cuda-minor-version: "8" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda11-core' | |
ffmpeg: '' | |
image-type: 'core' | |
base-image: "ubuntu:22.04" | |
runs-on: 'ubuntu-latest' | |
makeflags: "--jobs=4 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "12" | |
cuda-minor-version: "5" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda12-core' | |
ffmpeg: '' | |
image-type: 'core' | |
base-image: "ubuntu:22.04" | |
runs-on: 'ubuntu-latest' | |
makeflags: "--jobs=4 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "11" | |
cuda-minor-version: "8" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda11-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
runs-on: 'ubuntu-latest' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=4 --output-sync=target" | |
- build-type: 'cublas' | |
cuda-major-version: "12" | |
cuda-minor-version: "5" | |
platforms: 'linux/amd64' | |
tag-latest: 'false' | |
tag-suffix: '-cublas-cuda12-ffmpeg-core' | |
ffmpeg: 'true' | |
image-type: 'core' | |
runs-on: 'ubuntu-latest' | |
base-image: "ubuntu:22.04" | |
makeflags: "--jobs=4 --output-sync=target" |