add wf
This commit is contained in:
parent
1c1bcc9e60
commit
d1ed2efaa6
20
.gitea/workflows/createTag.yaml
Normal file
20
.gitea/workflows/createTag.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
name: Create Tag
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo:
|
||||
required: true
|
||||
type: string
|
||||
tag:
|
||||
required: true
|
||||
type: string
|
||||
jobs:
|
||||
UpdateRelease:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create Tag
|
||||
run: |
|
||||
git config user.name "${{ vars.GIT_DEPLOY_NAME }}"
|
||||
git config user.email "${{ vars.GIT_DEPLOY_MAIL }}"
|
||||
git tag -a "${{ inputs.tag }}" -m "Tag automatically created by Gitea Action"
|
||||
git push --follow-tags
|
@ -20,6 +20,9 @@ on:
|
||||
fileName:
|
||||
required: false
|
||||
type: string
|
||||
buildChannel:
|
||||
required: false
|
||||
type: string
|
||||
jobs:
|
||||
UpdateRelease:
|
||||
runs-on: ubuntu-latest
|
||||
@ -37,24 +40,13 @@ jobs:
|
||||
OWNER="greyhound"
|
||||
API_TOKEN=${{ vars.PAT_TOKEN }}
|
||||
|
||||
# Fetch Release
|
||||
tag=$(echo "${{ inputs.tag }}" | sed 's/\//%2F/g')
|
||||
|
||||
release=$(curl -s -H "Authorization: token $API_TOKEN" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/releases/tags/$tag")
|
||||
|
||||
# Extract the ID of the Release
|
||||
release_id=$(echo $release | jq -r '.id')
|
||||
|
||||
if [ "$release_id" == "null" ]; then
|
||||
echo "No release for tag '${{ inputs.tag }}' found. Exiting."
|
||||
exit 0
|
||||
prerelease="true"
|
||||
if [ "${{ inputs.buildChannel }}" = "stable" ]; then
|
||||
prerelease="false"
|
||||
fi
|
||||
|
||||
echo "Found tag '${{ inputs.tag }}' release with ID: $release_id"
|
||||
|
||||
|
||||
|
||||
### MILESTONE ###
|
||||
# Read Milestone and Build Url
|
||||
milestones=$(curl -s -H "Authorization: token $API_TOKEN" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones")
|
||||
|
||||
@ -67,12 +59,37 @@ jobs:
|
||||
echo "Milestone named '${{ inputs.milestoneName }}' found with id $update_milestone_id."
|
||||
|
||||
milestoneUrl="https://gitea.greyhound-software.com/$OWNER/${{ inputs.repo }}/milestone/$update_milestone_id"
|
||||
fi
|
||||
|
||||
### RELEASE ###
|
||||
# Read Release and Extract the ID
|
||||
tag=$(echo "${{ inputs.tag }}" | sed 's/\//%2F/g')
|
||||
|
||||
release=$(curl -s -H "Authorization: token $API_TOKEN" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/releases/tags/$tag")
|
||||
|
||||
release_id=$(echo $release | jq -r '.id')
|
||||
|
||||
if [ "$release_id" == "null" ]; then
|
||||
echo "No Release for tag '${{ inputs.tag }}' found. Create a new Release."
|
||||
|
||||
release_create=$(curl -s -X PATCH -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"body\": \"$milestoneUrl \n${{ inputs.downloadUrl }}\", \"name\": \"${{ inputs.milestoneName }}\", \"prerelease\": \"$prerelease\"}" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/releases")
|
||||
|
||||
release_id=$(echo $release_create | jq -r '.id')
|
||||
|
||||
else
|
||||
echo "Found Release for tag '${{ inputs.tag }}' with ID: $release_id"
|
||||
|
||||
release_update=$(curl -s -X PATCH -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"body\": \"$milestoneUrl \n${{ inputs.downloadUrl }}\", \"name\": \"${{ inputs.milestoneName }}\"}" \
|
||||
-d "{\"body\": \"$milestoneUrl \n${{ inputs.downloadUrl }}\", \"name\": \"${{ inputs.milestoneName }}\", \"prerelease\": \"$prerelease\"}" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/releases/$release_id")
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if [ "${{ inputs.artifactName }}" != "null" ]; then
|
||||
artifact_file="./${{ inputs.fileName }}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user