name: Create Release on: workflow_dispatch: inputs: version: description: 'Version for this release (e.g. 1.0.0)' required: true default: '' prerelease: description: 'Is this a pre-release?' required: true default: 'false' type: boolean description: description: 'Release description' required: false default: 'New release' jobs: create-release: runs-on: macos steps: - name: Checkout repository uses: actions/checkout@v3 with: lfs: true fetch-depth: 0 - name: Create Tag run: | # Set tag name TAG="v${{ github.event.inputs.version }}" echo "Creating git tag: $TAG" # Configure git git config --global user.email "actions@gitea.com" git config --global user.name "Gitea Actions" # Check if tag already exists if git rev-parse "$TAG" >/dev/null 2>&1; then echo "Tag $TAG already exists" else echo "Creating new tag $TAG" git tag -a "$TAG" -m "Release $TAG" git push origin "$TAG" fi # Verify tag exists git fetch --tags git checkout "$TAG" || (echo "Failed to checkout tag" && exit 1) - name: Create Release uses: https://gitea.com/actions/release-action@main with: files: |- builds/** api_key: '${{ secrets.GITEA_TOKEN }}' title: 'Release v${{ github.event.inputs.version }}' body: '${{ github.event.inputs.description }}' prerelease: ${{ github.event.inputs.prerelease }} tag_name: 'v${{ github.event.inputs.version }}'