From ca0520f5c70d95fd9a202cf283869ff6e42f7e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?George=20Kazami=20=5B=E4=B9=94=E6=B2=BB=C2=B7=E9=A2=A8?= =?UTF-8?q?=E8=A6=8B=5D?= Date: Sun, 26 Mar 2023 07:38:18 +0100 Subject: [PATCH] chore: update CI for linux build --- .github/workflows/eoefans-api-docker-ci.yml | 33 ++++++++++++------- .../workflows/eoefans-spider-docker-ci.yml | 33 ++++++++++++------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/.github/workflows/eoefans-api-docker-ci.yml b/.github/workflows/eoefans-api-docker-ci.yml index e1efd14..2caab42 100644 --- a/.github/workflows/eoefans-api-docker-ci.yml +++ b/.github/workflows/eoefans-api-docker-ci.yml @@ -3,7 +3,7 @@ name: EOEFANS API Docker Image CI on: push: tags: ["v*.*.*"] - # workflow_dispatch: + # workflow_dispatch: env: IMAGE_REGISTRY: "containers.vlink.dev" @@ -12,7 +12,7 @@ env: DOCKERFILE_PATH: "./builder/api/Dockerfile" # IMAGE_TAG: "" #we get tag using the action down below - + jobs: build: @@ -21,36 +21,47 @@ jobs: steps: - uses: actions/checkout@v3 - + - name: Get tag id: tag uses: dawidd6/action-get-tag@v1 - + - run: | echo "IMAGE_TAG=${{steps.tag.outputs.tag}}" >> $GITHUB_ENV echo "$GITHUB_ENV" - + - name: write the version to local file (config/version) run: | echo "$IMAGE_TAG" > config/version ls config cat config/version - + + - uses: actions/setup-go@v4 + with: + go-version: '>=1.18.0' + - run: go version + + - name: go dependencies + run: go mod download + + - name: go build + run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOARM=6 go build -ldflags '-w -s' -o api_server vlink.dev/eoefans/cmd/api + - name: Log in to VLINK Container Registry uses: docker/login-action@v2 with: registry: ${{ env.IMAGE_REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - + - name: Build the Docker image with tag run: docker build . --file ${{ env.DOCKERFILE_PATH }} ${{ env.DOCKER_BUILD_ARG }} --tag ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - + - name: push docker image with tag run: docker push ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - - - name: re-tag the image to latest version + + - name: re-tag the image to latest version run: docker tag ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:latest - + - name: push latest docker image run: docker push ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:latest diff --git a/.github/workflows/eoefans-spider-docker-ci.yml b/.github/workflows/eoefans-spider-docker-ci.yml index 2400afa..7fdd6b0 100644 --- a/.github/workflows/eoefans-spider-docker-ci.yml +++ b/.github/workflows/eoefans-spider-docker-ci.yml @@ -3,7 +3,7 @@ name: EOEFANS SPIDER Docker Image CI on: push: tags: ["v*.*.*"] - # workflow_dispatch: + # workflow_dispatch: env: IMAGE_REGISTRY: "containers.vlink.dev" @@ -11,7 +11,7 @@ env: IMAGE_NAME: "eoefans-spider" DOCKERFILE_PATH: "./builder/spider/Dockerfile" # IMAGE_TAG: "" #we get tag using the action down below - + jobs: build: @@ -20,20 +20,31 @@ jobs: steps: - uses: actions/checkout@v3 - + - name: Get tag id: tag uses: dawidd6/action-get-tag@v1 - + - run: | echo "IMAGE_TAG=${{steps.tag.outputs.tag}}" >> $GITHUB_ENV echo "$GITHUB_ENV" - + - name: write the version to local file (config/version) run: | echo "$IMAGE_TAG" > config/version ls config - cat config/version + cat config/version + + - uses: actions/setup-go@v4 + with: + go-version: '>=1.18.0' + - run: go version + + - name: go dependencies + run: go mod download + + - name: go build + run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOARM=6 go build -ldflags '-w -s' -o api_server vlink.dev/eoefans/cmd/api - name: Log in to VLINK Container Registry uses: docker/login-action@v2 @@ -41,15 +52,15 @@ jobs: registry: ${{ env.IMAGE_REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - + - name: Build the Docker image with tag run: docker build . --file ${{ env.DOCKERFILE_PATH }} --tag ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - + - name: push docker image with tag run: docker push ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - - - name: re-tag the image to latest version + + - name: re-tag the image to latest version run: docker tag ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:latest - + - name: push latest docker image run: docker push ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_REPO }}/${{ env.IMAGE_NAME }}:latest