From 6509cc45ac73a0cad153108f4a2239dae9cd9a1a Mon Sep 17 00:00:00 2001 From: thuanle Date: Tue, 12 Aug 2025 15:35:37 +0700 Subject: [PATCH] ci --- .gitea/workflows/build.yml | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .gitea/workflows/build.yml diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..e4b0b49 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,66 @@ +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