All checks were successful
		
		
	
	Test Changes on Push / build-vet-test (push) Successful in 19s
				
			This commit introduces Actions workflows to automate the Continuous Integration and Continuous Deployment process. It includes: - A workflow for running build, vet, and test on branch pushes - A workflow for building and publishing `nighly`binaries and Docker images upon pull requests being merged into the main branch. - A workflow for building, and uploading new releases.
		
			
				
	
	
		
			95 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
      
 | 
						|
jobs:
 | 
						|
  build-deploy:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    env: 
 | 
						|
      DOCKER_LATEST: nightly
 | 
						|
      DOCKER_ORG: beisel.org
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout Code
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Setup Docker
 | 
						|
        run: curl -fsSL https://get.docker.com | sh
 | 
						|
 | 
						|
      - name: Setup Docker BuildX
 | 
						|
        uses: docker/setup-buildx-action@v2
 | 
						|
        with:
 | 
						|
          config-inline: |
 | 
						|
            [registry."https://git.beisel.it"]            
 | 
						|
 | 
						|
      - name: Login to Registry
 | 
						|
        uses: docker/login-action@v2
 | 
						|
        with:
 | 
						|
          registry: git.beisel.it # replace it with your local IP
 | 
						|
          username: ${{ gitea.actor }}
 | 
						|
          password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
 | 
						|
 | 
						|
      - name: Get Meta
 | 
						|
        id: meta
 | 
						|
        run: |
 | 
						|
          echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
 | 
						|
          echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT             
 | 
						|
 | 
						|
      - name: build-docker
 | 
						|
        uses: docker/build-push-action@v4
 | 
						|
        with:
 | 
						|
          context: .
 | 
						|
          file: ./Dockerfile
 | 
						|
          platforms: |
 | 
						|
            linux/amd64
 | 
						|
            linux/arm64                                    
 | 
						|
          push: true
 | 
						|
          tags: | # replace it with your local IP and tags
 | 
						|
            git.beisel.it/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }}
 | 
						|
            git.beisel.it/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}
 | 
						|
      
 | 
						|
      - name: Set up Go
 | 
						|
        uses: actions/setup-go@v2
 | 
						|
        with:
 | 
						|
          go-version: '1.21' # Specify your Go version
 | 
						|
 | 
						|
      - name: Build the Binary Version for Linux
 | 
						|
        run: go build -ldflags="-s -w -X 'main.Version=${{  github.ref_name }}'" -o bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-linux-amd64
 | 
						|
 | 
						|
      - name: Build the Binary Version for Windows
 | 
						|
        run: GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{  github.ref_name }}'" -o bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-windows-amd64.exe
 | 
						|
 | 
						|
      - name: Build the Binary Version for MacOS
 | 
						|
        run: GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{  github.ref_name }}'" -o bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-darwin-amd64
 | 
						|
 | 
						|
      - name: Upload a build tagged with the gitref
 | 
						|
        run: |
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-linux-amd64 \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ steps.meta.outputs.REPO_VERSION }}/${{ steps.meta.outputs.REPO_NAME }}-${{ github.ref_name }}-linux-amd64
 | 
						|
          
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-windows-amd64.exe \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ steps.meta.outputs.REPO_VERSION }}/${{ steps.meta.outputs.REPO_NAME }}-${{ github.ref_name }}-windows-amd64.exe
 | 
						|
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-darwin-amd64 \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ steps.meta.outputs.REPO_VERSION }}/${{ steps.meta.outputs.REPO_NAME }}-${{ github.ref_name }}-darwin-amd64          
 | 
						|
 | 
						|
      - name: Delete nightly from generic package registry
 | 
						|
        run: curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} -X DELETE https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ env.DOCKER_LATEST }}
 | 
						|
 | 
						|
      - name: upload nightly
 | 
						|
        run: |
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-linux-amd64 \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ env.DOCKER_LATEST }}/${{ steps.meta.outputs.REPO_NAME }}-${{ env.DOCKER_LATEST }}-linux-amd64
 | 
						|
          
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-windows-amd64.exe \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ env.DOCKER_LATEST }}/${{ steps.meta.outputs.REPO_NAME }}-${{ env.DOCKER_LATEST }}-windows-amd64.exe
 | 
						|
 | 
						|
          curl --user ${{gitea.actor}}:${{ secrets.PERSONAL_ACCESS_TOKEN }} \
 | 
						|
          --upload-file bin/${{ steps.meta.outputs.REPO_NAME }}-${{  github.ref_name }}-darwin-amd64 \
 | 
						|
          https://git.beisel.it/api/packages/${{ env.DOCKER_ORG }}/generic/${{ steps.meta.outputs.REPO_NAME }}/${{ env.DOCKER_LATEST }}/${{ steps.meta.outputs.REPO_NAME }}-${{ env.DOCKER_LATEST }}-darwin-amd64           |