49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| echo "Figuring out the tag..."
 | |
| TAG=$(git describe --tags --exact-match 2>/dev/null || echo "")
 | |
| if [ -z "$TAG" ]; then
 | |
|   # Get the latest tag
 | |
|   LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
 | |
|   # Increment the patch version
 | |
|   IFS='.' read -r -a VERSION_PARTS <<< "$LATEST_TAG"
 | |
|   VERSION_PARTS[2]=$((VERSION_PARTS[2]+1))
 | |
|   TAG="${VERSION_PARTS[0]}.${VERSION_PARTS[1]}.${VERSION_PARTS[2]}"
 | |
|   # Create a new tag
 | |
|   git tag $TAG
 | |
|   git push origin $TAG
 | |
| fi
 | |
| echo "Tag: $TAG"
 | |
| 
 | |
| echo "Building the thing..."
 | |
| go build -o BigChef.exe .
 | |
| 
 | |
| echo "Creating a release..."
 | |
| TOKEN="$GITEA_API_KEY"
 | |
| GITEA="https://git.site.quack-lab.dev"
 | |
| REPO="dave/BigChef"
 | |
| # Create a release
 | |
| RELEASE_RESPONSE=$(curl -s -X POST \
 | |
|   -H "Authorization: token $TOKEN" \
 | |
|   -H "Accept: application/json" \
 | |
|   -H "Content-Type: application/json" \
 | |
|   -d '{
 | |
|     "tag_name": "'"$TAG"'",
 | |
|     "name": "'"$TAG"'",
 | |
|     "draft": false,
 | |
|     "prerelease": false
 | |
|   }' \
 | |
|   $GITEA/api/v1/repos/$REPO/releases)
 | |
| 
 | |
| # Extract the release ID
 | |
| echo $RELEASE_RESPONSE
 | |
| RELEASE_ID=$(echo $RELEASE_RESPONSE | awk -F'"id":' '{print $2+0; exit}')
 | |
| echo "Release ID: $RELEASE_ID"
 | |
| 
 | |
| echo "Uploading the things..."
 | |
| curl -X POST \
 | |
|   -H "Authorization: token $TOKEN" \
 | |
|   -F "attachment=@BigChef.exe" \
 | |
|   "$GITEA/api/v1/repos/$REPO/releases/${RELEASE_ID}/assets?name=BigChef.exe"
 | |
| rm BigChef.exe
 |