Implement Simple CI (#1)
This commit is contained in:
		
							
								
								
									
										42
									
								
								.github/workflows/publish_release.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.github/workflows/publish_release.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					name: Publish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					      - created
 | 
				
			||||||
 | 
					  workflow_dispatch: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  publish:
 | 
				
			||||||
 | 
					    name: Build & Publish
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Set up QEMU
 | 
				
			||||||
 | 
					        uses: docker/setup-qemu-action@v2
 | 
				
			||||||
 | 
					      - name: Set up Docker Buildx
 | 
				
			||||||
 | 
					        uses: docker/setup-buildx-action@v2
 | 
				
			||||||
 | 
					      - name: Checkout
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      - name: Setup Go
 | 
				
			||||||
 | 
					        uses: actions/setup-go@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          go-version: '>=1.18.0'
 | 
				
			||||||
 | 
					      - name: Version
 | 
				
			||||||
 | 
					        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					      - name: Test
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make test
 | 
				
			||||||
 | 
					      - name: Build
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make build
 | 
				
			||||||
 | 
					      - name: Login to Docker Hub
 | 
				
			||||||
 | 
					        uses: docker/login-action@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
				
			||||||
 | 
					          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
				
			||||||
 | 
					      - name: Build and push
 | 
				
			||||||
 | 
					        uses: docker/build-push-action@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          context: .
 | 
				
			||||||
 | 
					          push: true
 | 
				
			||||||
 | 
					          tags: yeslayla/birdbot:latest,yeslayla/birdbot:${{ env.RELEASE_VERSION }}
 | 
				
			||||||
							
								
								
									
										23
									
								
								.github/workflows/validate.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/validate.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					name: Validate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push: {}
 | 
				
			||||||
 | 
					  pull_request: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  publish:
 | 
				
			||||||
 | 
					    name: Test & Build
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      - name: Setup Go
 | 
				
			||||||
 | 
					        uses: actions/setup-go@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          go-version: '>=1.18.0'
 | 
				
			||||||
 | 
					      - name: Test
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make test
 | 
				
			||||||
 | 
					      - name: Build
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make build
 | 
				
			||||||
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@ -2,8 +2,7 @@ PROJECTNAME="Bird Bot"
 | 
				
			|||||||
PROJECT_BIN="birdbot"
 | 
					PROJECT_BIN="birdbot"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Go related variables.
 | 
					# Go related variables.
 | 
				
			||||||
GOBASE=$(shell pwd)
 | 
					GOBIN=./build
 | 
				
			||||||
GOBIN=$(GOBASE)/build
 | 
					 | 
				
			||||||
GOFILES=$(wildcard *.go)
 | 
					GOFILES=$(wildcard *.go)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Make is verbose in Linux. Make it silent.
 | 
					# Make is verbose in Linux. Make it silent.
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user