Skip to content

Commit

Permalink
add cloud release ci.
Browse files Browse the repository at this point in the history
Signed-off-by: yy <[email protected]>
  • Loading branch information
lingdie committed Nov 7, 2023
1 parent e91b4d7 commit 4dd41d8
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 9 deletions.
27 changes: 22 additions & 5 deletions .github/workflows/cloud-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,28 @@ jobs:
uses: ./.github/workflows/cloud.yml
with:
push_image: true
<<<<<<< HEAD
push_image_tag: ${{ github.event.release.tag_name }}
build_from: ${{ github.event.release.tag_name }}
secrets: inherit
=======
push_image_tag: ${{ env.TAG }}
build_from: ${{ env.TAG }}
>>>>>>> 73be102a (Release ci (#26))

release-offline-tar:
needs:
- release-cloud
runs-on: ubuntu:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build
run: export CLOUD_VERSION=${{ github.event.release.tag_name }} && bash ./scripts/cloud/build-offline-tar.sh
- name: Setup ossutil
uses: manyuanrong/[email protected]
with:
endpoint: ${{ secrets.OSS_ENDPOINT }}
access-key-id: ${{ secrets.OSS_ACCESS_KEY_ID }}
access-key-secret: ${{ secrets.OSS_ACCESS_KEY_SECRET }}
- name: Cat md5sum
run: cat ./sealos-cloud.tar.gz.md5
- name: Upload
run: |
ossutil cp ./sealos-cloud.tar.gz oss://${{ secrets.OSS_BUCKET }}/cloud/sealos-cloud-${{ github.event.release.tag_name }}.tar.gz
ossutil cp ./sealos-cloud.tar.gz.md5 oss://${{ secrets.OSS_BUCKET }}/cloud/sealos-cloud-${{ github.event.release.tag_name }}.tar.gz.md5
4 changes: 0 additions & 4 deletions .github/workflows/cloud.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: Build Cloud Cluster image

on:
workflow_run:
workflows: [ "Build Controllers image", "Build Frontend Image" ]
types:
- completed
workflow_call:
inputs:
push_image:
Expand Down
66 changes: 66 additions & 0 deletions scripts/cloud/build-offline-tar.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/bash
set -x

CLOUD_VERSION="latest"

# pull and save images
mkdir -p output/tars

images=(
docker.io/labring/sealos-cloud:$CLOUD_VERSION
docker.io/labring/kubernetes:v1.25.6
docker.io/labring/helm:v3.12.0
docker.io/labring/cilium:v1.12.14
docker.io/labring/cert-manager:v1.8.0
docker.io/labring/openebs:v3.4.0
docker.io/labring/kubernetes-reflector:v7.0.151
docker.io/labring/ingress-nginx:v1.5.1
docker.io/labring/kubeblocks:v0.6.4
docker.io/labring/metrics-server:v0.6.4
)

for image in "${images[@]}"; do
sealos pull "$image"
filename=$(echo "$image" | cut -d':' -f1 | tr / -)
if [[ ! -f "output/tars/${filename}.tar" ]]; then
sealos save -o "output/tars/${filename}.tar" "$image"
fi
done


# get and save cli
mkdir -p output/cli

VERSION="v4.3.5"

wget https://github.com/labring/sealos/releases/download/${VERSION}/sealos_${VERSION#v}_linux_amd64.tar.gz \
&& tar zxvf sealos_${VERSION#v}_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos output/cli

# get and save install scripts
echo "
#!/bin/bash
bash scripts/load-images.sh
bash scripts/install.sh --cloud-version=$CLOUD_VERSION
" > output/install.sh

mkdir -p output/scripts

echo '
#!/bin/bash
for file in tars/*.tar; do
sealos load -i $file
done
cp cli/sealos /usr/local/bin
' > output/scripts/load-images.sh

curl -sfL https://raw.githubusercontent.com/labring/sealos/${CLOUD_VERSION}/scripts/cloud/install.sh -o output/scripts/install.sh

# tar output to a tar.gz
mv output sealos-cloud
tar czfv sealos-cloud.tar.gz sealos-cloud

# md5sum output tar.gz
md5sum sealos-cloud.tar.gz | cut -d " " -f1 > sealos-cloud.tar.gz.md5

0 comments on commit 4dd41d8

Please sign in to comment.