--- name: 'build container images tests' on: pull_request: concurrency: group: ci-${{ github.head_ref || github.ref }}-${{ github.repository }} cancel-in-progress: true jobs: extras-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 }} base-image: ${{ matrix.base-image }} grpc-base-image: ${{ matrix.grpc-base-image }} makeflags: ${{ matrix.makeflags }} 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' && 4 || 8 }} matrix: include: # This is basically covered by the AIO test # - build-type: '' # platforms: 'linux/amd64' # tag-latest: 'false' # 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: "12" cuda-minor-version: "0" platforms: 'linux/amd64' tag-latest: 'false' tag-suffix: '-cublas-cuda12-ffmpeg' ffmpeg: 'true' image-type: 'extras' runs-on: 'arc-runner-set' base-image: "ubuntu:22.04" 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: 'false' # 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' # 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 }} # base-image: ${{ matrix.base-image }} # grpc-base-image: ${{ matrix.grpc-base-image }} # makeflags: ${{ matrix.makeflags }} # 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' # tag-latest: 'false' # tag-suffix: '-ffmpeg-core' # ffmpeg: 'true' # image-type: 'core' # runs-on: 'ubuntu-latest' # base-image: "ubuntu:22.04" # makeflags: "--jobs=4 --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: 'cublas' # cuda-major-version: "12" # cuda-minor-version: "0" # 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" # - build-type: 'vulkan' # platforms: 'linux/amd64' # tag-latest: 'false' # tag-suffix: '-vulkan-ffmpeg-core' # ffmpeg: 'true' # image-type: 'core' # runs-on: 'ubuntu-latest' # base-image: "ubuntu:22.04" # makeflags: "--jobs=4 --output-sync=target"