4 Commits

3 changed files with 23 additions and 1 deletions

View File

@@ -83,24 +83,40 @@ jobs:
notes: notes:
needs: setup needs: setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs:
release_name: ${{ steps.extract.outputs.release_name }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
ref: ${{ needs.setup.outputs.tag }} ref: ${{ needs.setup.outputs.tag }}
- name: Prepare Release Notes - name: Prepare Release Notes
id: extract
shell: bash shell: bash
run: | run: |
set -euo pipefail set -euo pipefail
tag="${{ needs.setup.outputs.version }}" tag="${{ needs.setup.outputs.version }}"
notes_file=".github/release-notes.md" notes_file=".github/release-notes.md"
if grep -q "^## \\[${tag}\\]" CHANGELOG.md; then if grep -q "^## \\[${tag}\\]" CHANGELOG.md; then
# Extract release name from header: ## [0.7.1] - 2026-06-02 "Title"
release_name=$(awk -v ver="$tag" '
$0 ~ "^## \\[" ver "\\]" {
match($0, /"([^"]+)"/, arr)
if (arr[1] != "") {
print "v" ver " - " arr[1]
} else {
print "v" ver
}
}
' CHANGELOG.md)
echo "release_name=${release_name}" >> "$GITHUB_OUTPUT"
awk -v ver="$tag" ' awk -v ver="$tag" '
$0 ~ "^## \\[" ver "\\]" {found=1; next} $0 ~ "^## \\[" ver "\\]" {found=1; next}
found && $0 ~ "^## \\[" {exit} found && $0 ~ "^## \\[" {exit}
found {print} found {print}
' CHANGELOG.md | sed -e '${/^$/d;}' > "$notes_file" ' CHANGELOG.md | sed -e '${/^$/d;}' > "$notes_file"
else else
echo "release_name=v${tag}" >> "$GITHUB_OUTPUT"
echo "No CHANGELOG section for $tag." > "$notes_file" echo "No CHANGELOG section for $tag." > "$notes_file"
git log -1 --pretty=format:"%s%n%n%b" >> "$notes_file" git log -1 --pretty=format:"%s%n%n%b" >> "$notes_file"
fi fi
@@ -126,6 +142,7 @@ jobs:
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: ${{ needs.setup.outputs.tag }} tag_name: ${{ needs.setup.outputs.tag }}
name: ${{ needs.notes.outputs.release_name }}
body_path: .github/release-notes.md body_path: .github/release-notes.md
prerelease: ${{ needs.setup.outputs.prerelease == 'true' }} prerelease: ${{ needs.setup.outputs.prerelease == 'true' }}
@@ -651,6 +668,8 @@ jobs:
done done
} }
PKG PKG
cat > packages/aur/dcr/.SRCINFO <<SRC
pkgbase = dcr pkgbase = dcr
pkgdesc = Cargo-like utility to manage C/C++ projects pkgdesc = Cargo-like utility to manage C/C++ projects
pkgver = ${PKGVER_CLEAN} pkgver = ${PKGVER_CLEAN}

View File

@@ -81,6 +81,9 @@ vendored = [
git2 = "0.20.4" git2 = "0.20.4"
openssl = "0.10" openssl = "0.10"
[target.'cfg(windows)'.dependencies]
git2 = "0.20.4"
[profile.release] [profile.release]
opt-level = "z" opt-level = "z"
lto = "thin" lto = "thin"

View File

@@ -226,7 +226,7 @@ other in [docs/](docs/), `dcr --help` and `dcr <command> --help`
| Linux (Musl) | ✅ | ✅ | ✅ | ✅ | 🚧 | | Linux (Musl) | ✅ | ✅ | ✅ | ✅ | 🚧 |
| macOS | ✅ | ✅ | ❌ | ❌ | ❌ | | macOS | ✅ | ✅ | ❌ | ❌ | ❌ |
| Windows (MSVC) | ✅ | ✅ | ❌ | ✅ | ❌ | | Windows (MSVC) | ✅ | ✅ | ❌ | ✅ | ❌ |
| Windows (MinGW) | ✅ | 🚧 | ❌ | ✅ | ❌ | | Windows (MinGW) | ✅ | 🚧 | ❌ | ❌ | ❌ |
| FreeBSD | ✅ | 🚧 | ❌ | ❌ | ❌ | | FreeBSD | ✅ | 🚧 | ❌ | ❌ | ❌ |
| OpenBSD | ✅ | 🚧 | ❌ | ❌ | ❌ | | OpenBSD | ✅ | 🚧 | ❌ | ❌ | ❌ |
| NetBSD | ✅ | 🚧 | ❌ | ❌ | ❌ | | NetBSD | ✅ | 🚧 | ❌ | ❌ | ❌ |