From f32dbcd5592d69c750139f1e313cd4fe7aa877a7 Mon Sep 17 00:00:00 2001 From: thuanle Date: Tue, 12 Aug 2025 15:46:37 +0700 Subject: [PATCH] update build and script --- .gitea/workflows/arch-docker-node.yml | 65 ++++++++++++++++++ .gitea/workflows/build.yml | 66 ------------------- ...rfile => arch-docker-node.amd64.Dockerfile | 0 3 files changed, 65 insertions(+), 66 deletions(-) create mode 100644 .gitea/workflows/arch-docker-node.yml delete mode 100644 .gitea/workflows/build.yml rename Dockerfile => arch-docker-node.amd64.Dockerfile (100%) diff --git a/.gitea/workflows/arch-docker-node.yml b/.gitea/workflows/arch-docker-node.yml new file mode 100644 index 0000000..7fa99a1 --- /dev/null +++ b/.gitea/workflows/arch-docker-node.yml @@ -0,0 +1,65 @@ +name: Weekly Docker Build + +on: + push: + schedule: + - cron: '0 1 * * 0' # 01:00 sáng Chủ nhật (UTC) + workflow_dispatch: # Cho phép chạy tay nếu cần + +env: + BASE_IMAGE_PATH: git.thuanle.me/public/base + IMAGE: arch-docker-node + +jobs: + build: + strategy: + matrix: + arch: + - amd64 + runs-on: ${{ matrix.arch }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: git.thuanle.me + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Docker images + run: | + echo "Building image ${{ env.IMAGE }} for architecture: ${{ matrix.arch }}" + + docker build \ + -f ${{ env.IMAGE }}.${{ matrix.arch }}.Dockerfile \ + -t ${{ env.BASE_IMAGE_PATH }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest \ + --label "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \ + --label "commit_sha=${{ github.sha }}" \ + . + + docker push ${{ env.BASE_IMAGE_PATH }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest + + # amend-manifest: + # runs-on: ubuntu-latest + # needs: [build] + # steps: + # - name: Login to Docker Registry + # uses: docker/login-action@v3 + # with: + # registry: git.thuanle.me + # username: ${{ secrets.DOCKER_USERNAME }} + # password: ${{ secrets.DOCKER_PASSWORD }} + + # - name: Push Docker manifest + # run: | + # echo "Delete existing manifest" + # docker manifest rm ${{ env.BASE_IMAGE_PATH }}:latest || true + + # echo "Create new manifest" + # docker manifest create ${{ env.BASE_IMAGE_PATH }}:latest \ + # ${{ env.BASE_IMAGE_PATH }}:amd64-latest \ + # ${{ env.BASE_IMAGE_PATH }}:arm64-latest + + # docker manifest push ${{ env.BASE_IMAGE_PATH }}:latest \ No newline at end of file diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml deleted file mode 100644 index e4b0b49..0000000 --- a/.gitea/workflows/build.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Weekly Docker Build - -on: - push: - schedule: - - cron: '0 1 * * 0' # 01:00 sáng Chủ nhật (UTC) - workflow_dispatch: # Cho phép chạy tay nếu cần - -env: - IMAGE_PATH: git.thuanle.me/public/arch-node-docker - -jobs: - build: - strategy: - matrix: - arch: - - amd64 - - arm64 - runs-on: ${{ matrix.arch }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Fetch full history, keeping all commits - - - name: Login to Docker Registry - uses: docker/login-action@v3 - with: - registry: git.thuanle.me - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build Docker images - run: | - echo "Building image for architecture: ${{ matrix.arch }}" - - docker build \ - -t ${{ env.IMAGE_PATH }}:${{ matrix.arch }}-latest \ - --label "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \ - --label "commit_sha=${{ github.sha }}" \ - . - - docker push ${{ env.IMAGE_PATH }}:${{ matrix.arch }}-latest - - amend-manifest: - runs-on: ubuntu-latest - needs: [build] - steps: - - name: Login to Docker Registry - uses: docker/login-action@v3 - with: - registry: git.thuanle.me - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Push Docker manifest - run: | - echo "Delete existing manifest" - docker manifest rm ${{ env.IMAGE_PATH }}:latest || true - - echo "Create new manifest" - docker manifest create ${{ env.IMAGE_PATH }}:latest \ - ${{ env.IMAGE_PATH }}:amd64-latest \ - ${{ env.IMAGE_PATH }}:arm64-latest - - docker manifest push ${{ env.IMAGE_PATH }}:latest \ No newline at end of file diff --git a/Dockerfile b/arch-docker-node.amd64.Dockerfile similarity index 100% rename from Dockerfile rename to arch-docker-node.amd64.Dockerfile