[DLS] [U22/U24] Build weekly imgs #1
This file contains hidden or 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: "[DLS] [U22/U24] Build weekly imgs" | |
| run-name: "[DLS] [U22/U24] Build weekly imgs" | |
| on: | |
| schedule: | |
| - cron: '0 14 * * 2' # 14:00 UTC | |
| workflow_dispatch: | |
| permissions: | |
| packages: write | |
| contents: read | |
| jobs: | |
| build-dls-deb-img: | |
| name: Build DLS ${{ matrix.ubuntu_version }} .deb and deb img | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - path_deb: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/onebinary/ubuntu22/dlstreamer_deb_package_ubuntu22.Dockerfile | |
| path_dev: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/devel/ubuntu22/dlstreamer_dev_ubuntu22.Dockerfile | |
| ubuntu_version: ubuntu22 | |
| build_arg: Release | |
| - path_deb: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/onebinary/ubuntu24/dlstreamer_deb_package_ubuntu24.Dockerfile | |
| path_dev: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/devel/ubuntu24/dlstreamer_dev_ubuntu24.Dockerfile | |
| ubuntu_version: ubuntu24 | |
| build_arg: Release | |
| outputs: | |
| ubuntu22_image: ${{ steps.save-image-ubuntu22.outputs.image }} | |
| ubuntu24_image: ${{ steps.save-image-ubuntu24.outputs.image }} | |
| env: | |
| dev-release-img: ghcr.io/${{ github.repository }}/dev-release-img-${{ matrix.ubuntu_version }}:latest | |
| dev-release-img-cached: ghcr.io/${{ github.repository }}/dev-release-img-${{ matrix.ubuntu_version }}:buildcache | |
| dlstreamer-version: "2025.0.1.3" | |
| steps: | |
| - name: Check out edge-ai-libraries repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2 | |
| with: | |
| path: edge-ai-libraries-repo | |
| - name: Init submodules | |
| run: | | |
| cd edge-ai-libraries-repo | |
| git submodule update --init libraries/dl-streamer/thirdparty/spdlog | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 #3.10.0 | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #3.4.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push Docker dev release img | |
| run: | | |
| docker buildx build \ | |
| --push \ | |
| --tag ${{ env.dev-release-img}} \ | |
| --cache-from=${{ env.dev-release-img-cached }} \ | |
| --cache-to=type=registry,ref=${{ env.dev-release-img-cached }},mode=max \ | |
| --build-arg DLSTREAMER_VERSION=${{ env.dlstreamer-version }} \ | |
| --build-arg DLSTREAMER_BUILD_NUMBER=deb-pkg-${{ matrix.ubuntu_version }} \ | |
| --build-arg BUILD_ARG=${{ matrix.build_arg }} \ | |
| -f ${{ matrix.path_dev }} \ | |
| ./edge-ai-libraries-repo/libraries/dl-streamer | |
| - name: Build deb pkg img using dev release img | |
| run: | | |
| docker build \ | |
| --tag ghcr.io/${{ github.repository }}/dls-deb-pkg-${{ matrix.ubuntu_version }}:${{ github.sha }} \ | |
| --build-arg DLSTREAMER_VERSION=${{ env.dlstreamer-version }} \ | |
| --build-arg DLSTREAMER_BUILD_NUMBER=deb-pkg-${{ matrix.ubuntu_version }} \ | |
| --build-arg BASE_IMAGE="${{ env.dev-release-img }}" \ | |
| -f ${{ matrix.path_deb }} \ | |
| ./edge-ai-libraries-repo/libraries/dl-streamer | |
| - name: Extract .deb packages using script | |
| run: | | |
| chmod +x ./edge-ai-libraries-repo/libraries/dl-streamer/scripts/extract_and_verify_debs.sh | |
| ./edge-ai-libraries-repo/libraries/dl-streamer/scripts/extract_and_verify_debs.sh ghcr.io/${{ github.repository }}/dls-deb-pkg-${{ matrix.ubuntu_version }}:${{ github.sha }} | |
| ls | |
| cp -r deb_packages ./edge-ai-libraries-repo/libraries/dl-streamer | |
| - name: Build Docker img from .deb | |
| run: | | |
| docker build \ | |
| -t ghcr.io/${{ github.repository }}/dls-deb-${{ matrix.ubuntu_version }}:latest \ | |
| -f ./edge-ai-libraries-repo/libraries/dl-streamer/docker/onebinary/${{ matrix.ubuntu_version }}/dlstreamer_${{ matrix.ubuntu_version }}.Dockerfile \ | |
| ./edge-ai-libraries-repo/libraries/dl-streamer | |
| - name: Push Docker img from .deb | |
| run: | | |
| docker push ghcr.io/${{ github.repository }}/dls-deb-${{ matrix.ubuntu_version }}:latest | |
| - name: Save Ubuntu 22 image info | |
| id: save-image-ubuntu22 | |
| if: ${{ matrix.ubuntu_version == 'ubuntu22' }} | |
| run: echo "image=ghcr.io/${{ github.repository }}/dls-deb-${{ matrix.ubuntu_version }}:latest" >> "$GITHUB_OUTPUT" | |
| - name: Save Ubuntu 24 image info | |
| id: save-image-ubuntu24 | |
| if: ${{ matrix.ubuntu_version == 'ubuntu24' }} | |
| run: echo "image=ghcr.io/${{ github.repository }}/dls-deb-${{ matrix.ubuntu_version }}:latest" >> "$GITHUB_OUTPUT" | |
| - name: Clean up | |
| if: always() | |
| run: | | |
| rm -rf edge-ai-libraries-repo | |
| docker rmi ghcr.io/${{ github.repository }}/dls-deb-${{ matrix.ubuntu_version }}:latest || true | |
| build-dls-dev-img: | |
| name: Build DLS ${{ matrix.ubuntu_version }} dev debug img | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - path_dev: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/devel/ubuntu22/dlstreamer_dev_ubuntu22.Dockerfile | |
| ubuntu_version: ubuntu22 | |
| build_arg: Debug | |
| - path_dev: ./edge-ai-libraries-repo/libraries/dl-streamer/docker/devel/ubuntu24/dlstreamer_dev_ubuntu24.Dockerfile | |
| ubuntu_version: ubuntu24 | |
| build_arg: Debug | |
| env: | |
| dev-debug-img: ghcr.io/${{ github.repository }}/dev-debug-img-${{ matrix.ubuntu_version }}:latest | |
| dev-debug-img-cached: ghcr.io/${{ github.repository }}/dev-debug-img-${{ matrix.ubuntu_version }}:buildcache | |
| steps: | |
| - name: Check out edge-ai-libraries repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2 | |
| with: | |
| path: edge-ai-libraries-repo | |
| - name: Init submodules | |
| run: | | |
| cd edge-ai-libraries-repo | |
| git submodule update --init libraries/dl-streamer/thirdparty/spdlog | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 #3.10.0 | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #3.4.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push Docker dev img | |
| run: | | |
| docker buildx build \ | |
| --push \ | |
| --build-arg BUILD_ARG=${{ matrix.build_arg }} \ | |
| --tag ${{ env.dev-debug-img }} \ | |
| --cache-from=type=registry,ref=${{ env.dev-debug-img-cached }} \ | |
| --cache-to=type=registry,ref=${{ env.dev-debug-img-cached }},mode=max \ | |
| -f ${{ matrix.path_dev }} \ | |
| ./edge-ai-libraries-repo/libraries/dl-streamer | |
| - name: Clean up | |
| if: always() | |
| run: | | |
| rm -rf edge-ai-libraries-repo | |
| docker rmi ghcr.io/${{ github.repository }}/dls-${{ matrix.ubuntu_version }}:latest || true | |
| build-dls-pipeline-server-image: | |
| needs: build-dls-deb-img | |
| name: Build DLS Pipeline Server ${{ matrix.ubuntu_version }} img | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - ubuntu_version: ubuntu22 | |
| steps: | |
| - name: Check out edge-ai-libraries repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2 | |
| with: | |
| path: edge-ai-libraries-repo | |
| - name: Init submodules | |
| run: | | |
| cd edge-ai-libraries-repo | |
| git submodule update --init libraries/dl-streamer/thirdparty/spdlog | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #3.4.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build dls-pipeline-server-img | |
| run: | | |
| cd edge-ai-libraries-repo/microservices/dlstreamer-pipeline-server/docker | |
| export BASE_IMAGE=${{ needs.build-dls-deb-img.outputs.ubuntu22_image }} | |
| export DLSTREAMER_PIPELINE_SERVER_IMAGE=ghcr.io/${{ github.repository }}/intel/dlstreamer-pipeline-server:latest | |
| export DLSTREAMER_PIPELINE_SERVER_DOCKERFILE=dlstreamer-pipeline-server.Dockerfile | |
| docker compose build --no-cache --pull | |
| - name: Push Docker img | |
| run: | | |
| docker push ghcr.io/${{ github.repository }}/intel/dlstreamer-pipeline-server:latest | |
| - name: Clean up | |
| if: always() | |
| run: | | |
| rm -rf edge-ai-libraries-repo | |
| docker rmi ghcr.io/${{ github.repository }}/intel/dlstreamer-pipeline-server:latest || true |