name: Release on: workflow_dispatch: schedule: - cron: "0 9 * * 0" jobs: test: name: Test uses: https://git.tainton.uk/repos/roboluke/.gitea/workflows/ci.yml@main with: python-version: 3.13 secrets: SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST_URL }} SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} # create_release: # name: Create Release # needs: test # uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/create-release.yml@main # secrets: # ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} create_release: name: Create Release runs-on: ubuntu-latest # needs: test outputs: release_name: ${{ steps.get_next_version.outputs.tag }} steps: - name: Check out repository uses: actions/checkout@v4.2.2 with: fetch-depth: 0 - name: Changes since last tag id: changes run: | rm -f .changes git log $(git describe --tags --abbrev=0)..HEAD --no-merges --oneline >> .changes cat .changes - name: Check for changes run: | if [[ -z $(grep '[^[:space:]]' .changes) ]] ; then echo "changes=false" echo "changes=false" >> "$GITEA_OUTPUT" else echo "changes=true" echo "changes=true" >> "$GITEA_OUTPUT" fi - name: Cancel if no changes if: steps.changes.outputs.changes == 'false' run: exit 1 - name: Set server URL id: set_srvurl run: | SRVURL=$(echo "${{ gitea.server_url }}" | sed 's/https:\/\/\(.*\)/\1/') echo "srvurl=$SRVURL" >> "$GITEA_OUTPUT" - name: Get next version uses: TriPSs/conventional-changelog-action@v6 id: get_next_version with: git-url: ${{ steps.set_srvurl.outputs.srvurl }} github-token: ${{ gitea.token }} preset: "conventionalcommits" # preset: "angular" # This is the default skip-commit: true release-count: 1 output-file: false create-summary: true skip-on-empty: true skip-version-file: true skip-tag: true - name: Create release run: | curl -s -X POST \ -H "Authorization: token ${{ secrets.ACTIONS_TOKEN }}" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d "{\"tag_name\": \"${{ steps.get_next_version.outputs.tag }}\", \"name\": \"${{ steps.get_next_version.outputs.tag }}\", \"body\": \"${{ steps.get_next_version.outputs.changelog }}\"}" \ "${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases" print_release: name: Print Release runs-on: ubuntu-latest needs: create_release steps: - run: echo "Created release ${{ needs.create_release.outputs.release_name }}."