diff --git a/.github/workflows/build-ee.yml b/.github/workflows/build-ee.yml index dc680f0b8dc..df9b1878c28 100644 --- a/.github/workflows/build-ee.yml +++ b/.github/workflows/build-ee.yml @@ -32,6 +32,24 @@ jobs: - uses: actions/setup-python@v4 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y qemu-system binfmt-support + + - name: Setup QEMU for multi-platform builds + uses: docker/setup-qemu-action@v2 + with: + platforms: all + + - name: Cache Buildah layers + uses: actions/cache@v4 + with: + path: /var/lib/containers/storage + key: ${{ runner.os }}-buildah-cache-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildah-cache- + - name: Buildah Action uses: redhat-actions/buildah-build@v2 id: build-image @@ -39,9 +57,11 @@ jobs: image: ee-multicloud tags: ${{inputs.tag}} ${{ github.sha }} labels: ${{ inputs.labels }} + platforms: linux/amd64,linux/arm64 context: tools/execution_environments/ee-multicloud-public containerfiles: |- tools/execution_environments/ee-multicloud-public/Containerfile + layers: true - name: Push To quay.io id: push-to-quay diff --git a/tools/execution_environments/ee-multicloud-public/install_binaries.sh b/tools/execution_environments/ee-multicloud-public/install_binaries.sh index 1afc1e32697..cab37d827bd 100755 --- a/tools/execution_environments/ee-multicloud-public/install_binaries.sh +++ b/tools/execution_environments/ee-multicloud-public/install_binaries.sh @@ -3,19 +3,32 @@ set -ue cd /tmp -# OC +# initArch discovers the architecture for this system. +ARCH=$(uname -m) +case $ARCH in + armv5*) ARCH="armv5";; + armv6*) ARCH="armv6";; + armv7*) ARCH="arm";; + aarch64) ARCH="arm64";; + x86) ARCH="386";; + x86_64) ARCH="amd64";; + i686) ARCH="386";; + i386) ARCH="386";; +esac +# OC +# Install rhel8 version of oc +# https://access.redhat.com/solutions/7077895 version=stable -arch=x86_64 -tarball=openshift-client-linux.tar.gz -url="https://mirror.openshift.com/pub/openshift-v4/${arch}/clients/ocp/${version}/${tarball}" +tarball=openshift-client-linux-${ARCH}-rhel8.tar.gz +url="https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${version}/${tarball}" curl -s -L "${url}" -o ${tarball} tar xzf ${tarball} install -t /usr/bin oc kubectl rm ${tarball} # Bitwarden - +# DISCLAIMER: BW doesn't support ARM64 yet, so this is just a placeholder url="https://vault.bitwarden.com/download/?app=cli&platform=linux" curl -s -L "${url}" -o bw.zip unzip bw.zip @@ -24,9 +37,8 @@ rm bw bw.zip # AWS CLI - aws_version=2.4.23 -curl -s -L "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-${aws_version}.zip" \ +curl -s -L "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m)-${aws_version}.zip" \ -o "awscliv2.zip" unzip awscliv2.zip ./aws/install