diff --git a/.gitea/workflows/99_changelog.yml b/.gitea/workflows/99_changelog.yml new file mode 100644 index 0000000..e904f81 --- /dev/null +++ b/.gitea/workflows/99_changelog.yml @@ -0,0 +1,36 @@ +# Credit: https://gitea.com/gitea/helm-gitea/src/branch/main/.gitea/workflows/changelog.yml +name: Update changelog +run-name: Update changelog on push + +on: + push: + branches: + - master + tags: + - "*" + +jobs: + changelog: + runs-on: ubuntu-latest + container: docker.io/thegeeklab/git-sv:2.0.9 + steps: + - name: install tools + run: | + apk add -q --update --no-cache nodejs curl jq sed + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Generate upcoming changelog + run: | + git sv rn -o changelog.md + export RELEASE_NOTES=$(cat changelog.md) + export ISSUE_NUMBER=$(curl -s -H 'Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}' "https://gitea.7o7.cx/api/v1/repos/sherl/Shadow/issues?state=open&q=Changelog%20for%20upcoming%20version" | jq '.[].number') + + echo $RELEASE_NOTES + JSON_DATA=$(echo "" | jq -Rs --arg title 'Changelog for upcoming version' --arg body "$(cat changelog.md)" '{title: $title, body: $body}') + + if [ -z "$ISSUE_NUMBER" ]; then + curl -s -X POST "https://gitea.7o7.cx/api/v1/repos/sherl/Shadow/issues" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA" > /dev/null + else + curl -s -X PATCH "https://gitea.7o7.cx/api/v1/repos/sherl/Shadow/issues/$ISSUE_NUMBER" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA" > /dev/null + fi \ No newline at end of file