49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: push
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
| jobs:
 | |
|   build:
 | |
|     runs-on: golang-ubuntu-latest
 | |
|     steps:
 | |
|       - name: Check out repository code
 | |
|         uses: actions/checkout@focs
 | |
|       - name: Display Go version
 | |
|         run: go version
 | |
|       - name: Prepare
 | |
|         run: |
 | |
|           go env -w GO111MODULE=on
 | |
|           go env -w GOPROXY=https://goproxy.cn,direct
 | |
|           mkdir -p ~/.ssh
 | |
|           echo "${{ secrets.DEPLOY_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
 | |
|           echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_ed25519.pub
 | |
|           chmod 600 ~/.ssh/id_ed25519
 | |
|           chmod 600 ~/.ssh/id_ed25519.pub
 | |
|           ssh-keyscan -p 2222 focs.ji.sjtu.edu.cn >> ~/.ssh/known_hosts
 | |
|           ssh -T git@focs.ji.sjtu.edu.cn -p 2222          
 | |
|         shell: bash
 | |
|       - name: Determine build command
 | |
|         id: build_command
 | |
|         run: |
 | |
|           if echo "${{ gitea.event.head_commit.message }}" | grep -q "force build"; then
 | |
|             echo "build_command=make force-build" >> $GITEA_ENV
 | |
|           else
 | |
|             echo "build_command=make build" >> $GITEA_ENV
 | |
|           fi          
 | |
|       - name: Build
 | |
|         env:
 | |
|           TZ: Asia/Shanghai
 | |
|         run: ${{ env.build_command }}
 | |
|       - name: Test
 | |
|         run: make test
 | |
|       - name: Check images
 | |
|         run: docker images
 | |
|       - name: Remove dangling images
 | |
|         run: docker image prune -f
 | |
|       - name: Docker Login
 | |
|         run: |
 | |
|           echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin focs.ji.sjtu.edu.cn:5000          
 | |
|       - name: Docker Push
 | |
|         run: make push
 |