diff --git a/.github/workflows/cloud.yml b/.github/workflows/cloud.yml index c106588b2..c6bb9c7ff 100644 --- a/.github/workflows/cloud.yml +++ b/.github/workflows/cloud.yml @@ -99,11 +99,28 @@ jobs: sed -i "s#labring#${{ github.repository_owner }}#g" etc/sealos/desktop-config.yaml sed -i "s#latest#${BuildFromTag}#g" init.sh sed -i "s#latest#${BuildFromTag}#g" etc/sealos/desktop-config.yaml - sudo bash init.sh - sudo sealos build -t ${{ steps.prepare.outputs.repo }}:${{ steps.prepare.outputs.tag_name }} -f Kubefile - sudo sealos build -t ${{ steps.prepare.outputs.repo }}:latest -f Kubefile - sudo sealos push ${{ steps.prepare.outputs.repo }}:${{ steps.prepare.outputs.tag_name }} - sudo sealos push ${{ steps.prepare.outputs.repo }}:latest + + sudo bash init.sh amd64 + sudo sealos build -t ${{ steps.prepare.outputs.repo }}:${{ steps.prepare.outputs.tag_name }}-amd64 -f Kubefile + sudo sealos build -t ${{ steps.prepare.outputs.repo }}:latest-amd64 -f Kubefile + + + # delete old registry cache + sudo rm -rf registry + sudo rm -rf tars + + sudo bash init.sh arm64 + sudo sealos build -t ${{ steps.prepare.outputs.repo }}:${{ steps.prepare.outputs.tag_name }}-arm64 -f Kubefile + sudo sealos build -t ${{ steps.prepare.outputs.repo }}:latest-arm64 -f Kubefile + + - name: Manifest Cluster Images + # if push to master, then patch images to ghcr.io + run: | + sudo sealos images + bash docker/patch/manifest-cluster-images.sh ${{ steps.prepare.outputs.repo }}:${{ steps.prepare.outputs.tag_name }} + bash docker/patch/manifest-cluster-images.sh ${{ steps.prepare.outputs.repo }}:latest + env: + OWNER: ${{ github.repository_owner }} # todo: build multi-arch images diff --git a/deploy/cloud/init.sh b/deploy/cloud/init.sh index ec7645696..f05009812 100644 --- a/deploy/cloud/init.sh +++ b/deploy/cloud/init.sh @@ -1,18 +1,19 @@ #!/bin/bash +export readonly ARCH=${1:-amd64} mkdir -p tars -sealos pull --policy=always ghcr.io/labring/sealos-cloud-user-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-terminal-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-app-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-desktop-frontend:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-terminal-frontend:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-applaunchpad-frontend:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-dbprovider-frontend:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-resources-metering-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-resources-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-account-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-costcenter-frontend:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-licenseissuer-controller:latest -sealos pull --policy=always ghcr.io/labring/sealos-cloud-template-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-user-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-terminal-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-app-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-desktop-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-terminal-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-applaunchpad-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-dbprovider-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-resources-metering-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-resources-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-account-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-costcenter-frontend:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-licenseissuer-controller:latest +sealos pull --policy=always --platform=linux/"${ARCH}" ghcr.io/labring/sealos-cloud-template-frontend:latest sealos save -o tars/user.tar ghcr.io/labring/sealos-cloud-user-controller:latest sealos save -o tars/terminal.tar ghcr.io/labring/sealos-cloud-terminal-controller:latest