name: Create Release on: push: tags: - 'v*' # Nur bei Tags wie v1.0.0 jobs: release: runs-on: ubuntu-latest steps: - name: Enable debug output run: | set -x - name: Checkout source uses: actions/checkout@v3 - name: Show environment variables for debugging run: | echo "GIT_REMOTE_URL=$(git config --get remote.origin.url)" echo "GITHUB_REF=$GITHUB_REF" - name: Extract OWNER and REPO from git remote URL id: repo-info run: | REMOTE_URL=$(git config --get remote.origin.url) echo "Remote URL: $REMOTE_URL" OWNER=$(echo "$REMOTE_URL" | sed -E 's#.*/([^/]+)/([^/]+)(\.git)?#\1#') REPO=$(echo "$REMOTE_URL" | sed -E 's#.*/([^/]+)/([^/]+)(\.git)?#\2#') echo "OWNER=$OWNER" >> $GITHUB_ENV echo "REPO=$REPO" >> $GITHUB_ENV - name: Install git-chglog binary (no Go needed) run: | GIT_CHGLOG_VERSION="0.15.1" curl -sSL "https://github.com/git-chglog/git-chglog/releases/download/v${GIT_CHGLOG_VERSION}/git-chglog_${GIT_CHGLOG_VERSION}_linux_amd64.tar.gz" -o git-chglog.tar.gz tar -xzf git-chglog.tar.gz chmod +x git-chglog sudo mv git-chglog /usr/local/bin/ - name: Show git-chglog version run: git-chglog --version - name: Generate CHANGELOG.md for current tag run: | TAG=${GITHUB_REF##*/} # z.B. v1.0.0 echo "Generating changelog for tag: $TAG" git-chglog -o CHANGELOG.md "$TAG" echo "Changelog generated:" cat CHANGELOG.md - name: Create Gitea Release via API (no Go required) env: TOKEN: ${{ secrets.TOKEN }} OWNER: ${{ env.OWNER }} REPO: ${{ env.REPO }} TAG: ${GITHUB_REF##*/} run: | echo "Creating release for tag $TAG in repo $OWNER/$REPO" curl -X POST "https://dev.ksite.de/api/v1/repos/${OWNER}/${REPO}/releases" \ -H "Content-Type: application/json" \ -H "Authorization: token $TOKEN" \ -d @- <