name: Release on: push: branches: - release jobs: release: name: Release runs-on: ubuntu-latest env: GITEA_DOMAIN: git.kjan.de # Your Gitea instance domain GIT_EMAIL: "gitea-actions@git.kjan.de" # Valid email for Git config GIT_USERNAME: "Gitea Actions" # Name for Git config SKIP_MERGE: false # Set to true to skip merging back to main TARGET_BRANCH: main #Branch to merge into RELEASE_BRANCH: release # The name of the release branch permissions: contents: write issues: write pull-requests: write id-token: write steps: - name: Create Release uses: https://git.kjan.de/actions/semantic-release@main id: semantic with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - name: Configure SSH if: ${{ steps.semantic.outputs.new_release_published }} run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa chmod 400 ~/.ssh/id_rsa ssh-keyscan ${{ env.GITEA_DOMAIN }} >> ~/.ssh/known_hosts chmod 400 ~/.ssh/known_hosts - name: Configure Git if: ${{ steps.semantic.outputs.new_release_published }} run: | git config --global user.email "${{ env.GIT_EMAIL }}" git config --global user.name "${{ env.GIT_USERNAME }}" - name: Make changes if: ${{ steps.semantic.outputs.new_release_published }} run: | git add docs/ git commit -m "chore(release): [skip ci]" - name: Push changes to release branch if: ${{ steps.semantic.outputs.new_release_published }} run: | git remote set-url origin git@${{ env.GITEA_DOMAIN }}:${{ github.repository }}.git git push origin HEAD:${{ env.RELEASE_BRANCH }} - name: Checkout target branch if: ${{ steps.semantic.outputs.new_release_published && !env.SKIP_MERGE }} run: git reset --hard && git checkout ${{ env.TARGET_BRANCH }} && git pull - name: Merge release if: ${{ steps.semantic.outputs.new_release_published && !env.SKIP_MERGE }} run: git merge ${{ env.RELEASE_BRANCH }} - name: Push changes to target branch if: ${{ steps.semantic.outputs.new_release_published && !env.SKIP_MERGE }} run: | git remote set-url origin git@${{ env.GITEA_DOMAIN }}:${{ github.repository }}.git git push origin HEAD:${{ env.TARGET_BRANCH }}