From 017e3f16ddc6423daee3152ffa85081d89dd1820 Mon Sep 17 00:00:00 2001 From: Gardel Date: Sat, 26 Apr 2025 14:33:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20gitea=20=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yaml | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .gitea/workflows/build.yaml diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..7d4e146 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,68 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - dev + +jobs: + build-and-push: + runs-on: ubuntu-latest + env: + CGO_ENABLED: 1 + steps: + - name: Checkout codebase + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Pre Setup NodeJS + uses: actions/setup-node@v4 + with: + node-version: '18.x' + - name: For act to work + run: npm -g install yarn + - name: Setup NodeJS + uses: actions/setup-node@v4 + with: + node-version: '18.x' + cache: 'yarn' + cache-dependency-path: frontend + - name: Build Frontend + run: | + make assets + rm -rf /host/${{ gitea.workspace }} && mkdir -p /host/${{ gitea.workspace }} + cp -a . /host/${{ gitea.workspace }}/ + - name: Build Yggdrasil Server + uses: crazy-max/ghaction-xgo@v2 + with: + xgo_version: latest + go_version: 1.24 + dest: build + prefix: yggdrasil + targets: linux/amd64,linux/arm64 + v: true + x: false + race: false + ldflags: -s -w -buildid= + tags: nomsgpack sqlite mysql + trimpath: true + - name: Store Back Binaries + run: | + cp -a /host/${{ gitea.workspace }}/build/. build + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: docker.sunxinao.cn + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: docker.sunxinao.cn/gardel/yggdrasil-go:latest