From fa2eb904f026a3127280a7f3b5692d291674b177 Mon Sep 17 00:00:00 2001 From: cuisongliu Date: Thu, 3 Oct 2024 10:32:44 +0800 Subject: [PATCH] test(sealos): e2e test for sealos Signed-off-by: cuisongliu --- .github/workflows/push.yml | 36 +++++++++++++++++++++ .github/workflows/test.yml | 26 ++++++++++++++- .github/workflows/update_version_config.yml | 2 +- gen/gen.go | 3 ++ 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 7dd7f08..932b7b9 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -39,3 +39,39 @@ jobs: DOCKER_REPO: ghcr.io/${{ github.repository_owner }}/automq-operator run: | IMG=${DOCKER_REPO}:latest make docker-buildx + + job1: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Set up Go + uses: actions/setup-go@master + with: + go-version: 1.23.x + + - name: Verify sealos + run: | + wget -q https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz + tar -zxvf sealos_4.3.7_linux_amd64.tar.gz sealos + sudo chmod a+x sealos + sudo mv sealos /usr/bin/ + sudo sealos version + - name: build + run: | + go run gen/gen.go ghcr.io/${{ github.repository_owner }}/automq-operator:latest && make info + cd deploy + sudo sealos login -u ${{ github.repository_owner }} -p ${{ secrets.GH_TOKEN }} --debug ghcr.io + IMAGE_NAME="ghcr.io/${{ github.repository_owner }}/automq-operator-sealos:latest" + sudo sealos build -t "${IMAGE_NAME}"-amd64 --platform linux/amd64 . + sudo sealos build -t "${IMAGE_NAME}"-arm64 --platform linux/arm64 . + sudo sealos push "${IMAGE_NAME}"-amd64 + sudo sealos push "${IMAGE_NAME}"-arm64 + sudo sealos images + sudo sealos manifest create "${IMAGE_NAME}" + sudo sealos manifest add "$IMAGE_NAME" docker://"$IMAGE_NAME-amd64" + sudo sealos manifest add "$IMAGE_NAME" docker://"$IMAGE_NAME-arm64" + sudo sealos manifest push --all "$IMAGE_NAME" docker://"$IMAGE_NAME" && echo "$IMAGE_NAME push success" + sudo sealos images + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2b3718c..bbd0f0b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,7 +36,7 @@ jobs: - name: Verify sealos run: | - wget https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz + wget -q https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz tar -zxvf sealos_4.3.7_linux_amd64.tar.gz sealos sudo chmod a+x sealos sudo mv sealos /usr/bin/ @@ -55,3 +55,27 @@ jobs: - name: build run: | sudo make e2e + + job2: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Set up Go + uses: actions/setup-go@master + with: + go-version: 1.23.x + + - name: Verify sealos + run: | + wget -q https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz + tar -zxvf sealos_4.3.7_linux_amd64.tar.gz sealos + sudo chmod a+x sealos + sudo mv sealos /usr/bin/ + sudo sealos version + - name: build + run: | + go run gen/gen.go ghcr.io/${{ github.repository_owner }}/automq-operator:latest && make info + cd deploy + sudo sealos build -t ghcr.io/${{ github.repository_owner }}/automq-operator-sealos:latest . diff --git a/.github/workflows/update_version_config.yml b/.github/workflows/update_version_config.yml index 4ae8ee1..970a255 100644 --- a/.github/workflows/update_version_config.yml +++ b/.github/workflows/update_version_config.yml @@ -21,7 +21,7 @@ jobs: vPrefix = true releaseBranch = main versionFile = .tagpr - command = go run gen/gen.go ghcr.io/cuisongliu/automq-operator:${{ github.event.inputs.version }} && make info + command = go run gen/gen.go ghcr.io/${{ github.repository_owner }}/automq-operator:${{ github.event.inputs.version }} && make info release = false changelog = true EOF diff --git a/gen/gen.go b/gen/gen.go index 4d77595..82dc38f 100644 --- a/gen/gen.go +++ b/gen/gen.go @@ -44,6 +44,9 @@ func main() { os.Exit(1) } shotVersion := strings.ReplaceAll(version[1], "v", "") + if shotVersion == "latest" { + shotVersion = "0.0.0" + } cmd2 := fmt.Sprintf("sed -i '/#replace_by_makefile/!b;n;c\\version: %s' deploy/charts/automq-operator/Chart.yaml", shotVersion) if err := execCmd("bash", "-c", cmd2); err != nil { fmt.Printf("execCmd error %v", err)