feat: 添加 gitea 构建脚本
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build and Push Docker Image / build-and-push (push) Successful in 4m56s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build and Push Docker Image / build-and-push (push) Successful in 4m56s
				
			This commit is contained in:
		
							
								
								
									
										68
									
								
								.gitea/workflows/build.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								.gitea/workflows/build.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user