This commit is contained in:
parent
454d8158dc
commit
f63b01a858
75
.gitea/workflows/build.yaml
Normal file
75
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,75 @@
|
||||
name: Build Bannertool
|
||||
run-name: build bannertool
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build-test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Tools
|
||||
run: apt update -y && apt install -y build-essential cmake zip
|
||||
- name: Build
|
||||
run: |
|
||||
OS=$(uname)
|
||||
ARCH=$(uname -m)
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --biuld build
|
||||
mkdir -p final/$ARCH
|
||||
cp -r build/bannertool final/$ARCH/
|
||||
mkdir -p artifacts/
|
||||
zip -r artifacts/$OS.zip final
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bannertool
|
||||
path: artifacts/
|
||||
- name: Create Pre Release
|
||||
run: |
|
||||
FILES=./artifacts/*
|
||||
USER=tobid7
|
||||
REPO=bannertool
|
||||
# Set up variables
|
||||
AUTH_HEADER="Authorization: token ${{ secrets.TOKEN }}"
|
||||
CONTENT_TYPE="Content-Type: application/json"
|
||||
API_URL="https://dev.npid7.de/api/v1/repos/$USER/$REPO/releases"
|
||||
COMMIT_HASH=$(git rev-parse --short HEAD)
|
||||
AUTHOR_NAME=$(git log -1 --pretty=format:'%an')
|
||||
COMMIT_SUBJECT=$(git log -1 --pretty=format:'%s')
|
||||
COMMIT_MESSAGE=$(git log -1 --pretty=format:'%b')
|
||||
DATETIME=$(date +'%Y%m%d_%H%M')
|
||||
echo "Create Release"
|
||||
RELEASE_INFO="{\"tag_name\": \"p$DATETIME\", \"name\": \"Test | $COMMIT_HASH\", \"body\": \"$AUTHOR_NAME - $COMMIT_SUBJECT\\n\\n$COMMIT_MESSAGE\", \"prerelease\": true}"
|
||||
RESPONSE=$(curl -s -X POST -H "$AUTH_HEADER" -H "$CONTENT_TYPE" -d "$RELEASE_INFO" "$API_URL")
|
||||
RELEASE_ID=$(echo $RESPONSE | jq --raw-output '.id')
|
||||
echo "Release created with ID: $RELEASE_ID"
|
||||
if [ "$RELEASE_ID" == "null" ]; then
|
||||
echo "Failed to create release."
|
||||
exit 1
|
||||
fi
|
||||
echo "Upload File/s"
|
||||
for file in $FILES; do
|
||||
if [ -f "$file" ]; then
|
||||
FILE_NAME=$(basename "$file")
|
||||
FILE_PATH="$file"
|
||||
FILE_SIZE=$(stat -c%s "$FILE_PATH")
|
||||
UPLOAD_URL="https://dev.npid7.de/api/v1/repos/$USER/$REPO/releases/$RELEASE_ID/assets?name=$FILE_NAME"
|
||||
CONTENT_LENGTH="Content-Length: $FILE_SIZE"
|
||||
CONTENT_TYPE="Content-Type: application/7z-x-compressed"
|
||||
echo "Uploading asset: $FILE_NAME"
|
||||
RESPONSE=$(curl -s -X POST -H "Authorization: token ${{ secrets.TOKEN }}" \
|
||||
-H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" \
|
||||
--upload-file "$FILE_PATH" "$UPLOAD_URL")
|
||||
if echo "$RESPONSE" | jq -e '.message' >/dev/null; then
|
||||
echo "Error uploading $FILE_NAME: $(echo "$RESPONSE" | jq -r .message)"
|
||||
exit 1
|
||||
fi
|
||||
echo "Successfully uploaded $FILE_NAME"
|
||||
fi
|
||||
done
|
Loading…
Reference in New Issue
Block a user