diff --git a/.github/workflows/build-latest-image.yml b/.github/workflows/build-latest-image.yml index 7c80b8e..4c15c0e 100644 --- a/.github/workflows/build-latest-image.yml +++ b/.github/workflows/build-latest-image.yml @@ -36,7 +36,7 @@ jobs: with: xgo_version: latest go_version: 1.22 - dest: . + dest: github/redhat-cne prefix: l2discovery targets: linux/amd64,linux/arm64 v: true @@ -58,4 +58,4 @@ jobs: - name: Build and push image if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'redhat-cne' }} - run: ./scripts/image.sh + run: ./scripts/image.sh ci diff --git a/Dockerfile b/Dockerfile index 487bdf9..9835aa7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ -FROM registry.access.redhat.com/ubi9/ubi@sha256:9e6a89ab2a9224712391c77fab2ab01009e387aff42854826427aaf18b98b1ff +FROM --platform=$BUILDPLATFORM registry.access.redhat.com/ubi9/ubi@sha256:9e6a89ab2a9224712391c77fab2ab01009e387aff42854826427aaf18b98b1ff RUN dnf -y --disableplugin=subscription-manager install iputils iproute ethtool pciutils RUN dnf -y --disableplugin=subscription-manager remove python3-setuptools -COPY l2discovery-linux-amd64 /usr/bin -COPY l2discovery-linux-arm64 /usr/bin +COPY github.com/redhat-cne/l2discovery-linux-amd64 /usr/bin +COPY github.com/redhat-cne/l2discovery-linux-arm64 /usr/bin RUN \ if [ "$(uname -m)" = x86_64 ]; then \ + echo "Detected x86_64 CPU architecture."; \ mv /usr/bin/l2discovery-linux-amd64 /usr/bin/l2discovery; \ elif [ "$(uname -m)" = aarch64 ]; then \ + echo "Detected aarch64 CPU architecture."; \ mv /usr/bin/l2discovery-linux-arm64 /usr/bin/l2discovery; \ else \ echo "CPU architecture is not supported." && exit 1; \ diff --git a/scripts/image.sh b/scripts/image.sh index d8fc70c..e0c1e69 100755 --- a/scripts/image.sh +++ b/scripts/image.sh @@ -1,11 +1,15 @@ -#!/bin/sh -set -x +#!/usr/bin/env bash VERSION=latest IMAGE_NAME=l2discovery REPO=quay.io/redhat-cne make test -go install github.com/karalabe/xgo@latest -xgo --targets=linux/arm64,linux/amd64 . + +if [[ $# -eq 0 ]]; then + echo "Running locally" + go install github.com/crazy-max/xgo@latest + mkdir -p /tmp/xgo-cache + xgo --targets=linux/arm64,linux/amd64 . +fi podman manifest create ${REPO}/${IMAGE_NAME}:${VERSION} podman build --platform linux/amd64,linux/arm64 --manifest ${REPO}/${IMAGE_NAME}:${VERSION} --rm -f Dockerfile . podman manifest push ${REPO}/${IMAGE_NAME}:${VERSION} diff --git a/scripts/launch.sh b/scripts/launch.sh index 9d9c156..ccae012 100755 --- a/scripts/launch.sh +++ b/scripts/launch.sh @@ -1,3 +1,3 @@ -#!/bin/sh +#!/usr/bin/env bash oc apply -f resources/daemonset.yml