chore(release): update version to 1.0.81 and metadata
This commit is contained in:
@@ -63,6 +63,8 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
VERSION="${{ github.event.inputs.tag || github.ref_name }}"
|
VERSION="${{ github.event.inputs.tag || github.ref_name }}"
|
||||||
|
BUILD_DATE="$(date -u +"%Y-%m-%d %H:%M:%S UTC")"
|
||||||
|
LDFLAGS="-X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=${VERSION}' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=${BUILD_DATE}'"
|
||||||
for target in "linux/amd64" "linux/arm64" "darwin/amd64" "darwin/arm64" "windows/amd64"; do
|
for target in "linux/amd64" "linux/arm64" "darwin/amd64" "darwin/arm64" "windows/amd64"; do
|
||||||
GOOS="${target%/*}"
|
GOOS="${target%/*}"
|
||||||
GOARCH="${target#*/}"
|
GOARCH="${target#*/}"
|
||||||
@@ -71,7 +73,7 @@ jobs:
|
|||||||
NAME="relspec-${GOOS}-${GOARCH}${EXT}"
|
NAME="relspec-${GOOS}-${GOARCH}${EXT}"
|
||||||
GOOS="$GOOS" GOARCH="$GOARCH" go build \
|
GOOS="$GOOS" GOARCH="$GOARCH" go build \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-ldflags "-X git.warky.dev/wdevs/relspecgo/cmd/relspec.version=${VERSION}" \
|
-ldflags "$LDFLAGS" \
|
||||||
-o "$NAME" ./cmd/relspec
|
-o "$NAME" ./cmd/relspec
|
||||||
echo "Built $NAME"
|
echo "Built $NAME"
|
||||||
done
|
done
|
||||||
@@ -234,11 +236,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
VERSION="${{ github.event.inputs.tag || github.ref_name }}"
|
VERSION="${{ github.event.inputs.tag || github.ref_name }}"
|
||||||
PKGVER="${VERSION#v}"
|
PKGVER="${VERSION#v}"
|
||||||
|
BUILD_DATE="$(date -u +"%Y-%m-%d %H:%M:%S UTC")"
|
||||||
|
|
||||||
for GOARCH in amd64 arm64; do
|
for GOARCH in amd64 arm64; do
|
||||||
GOOS=linux GOARCH=$GOARCH go build \
|
GOOS=linux GOARCH=$GOARCH go build \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-ldflags "-X git.warky.dev/wdevs/relspecgo/cmd/relspec.version=${PKGVER}" \
|
-ldflags "-X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=v${PKGVER}' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=${BUILD_DATE}'" \
|
||||||
-o relspec ./cmd/relspec
|
-o relspec ./cmd/relspec
|
||||||
|
|
||||||
PKGDIR="relspec_${PKGVER}_${GOARCH}"
|
PKGDIR="relspec_${PKGVER}_${GOARCH}"
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ STATICCHECK = go run honnef.co/go/tools/cmd/staticcheck@latest
|
|||||||
GOVULNCHECK = go run golang.org/x/vuln/cmd/govulncheck@latest
|
GOVULNCHECK = go run golang.org/x/vuln/cmd/govulncheck@latest
|
||||||
|
|
||||||
# Version information
|
# Version information
|
||||||
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
# VERSION file is the single source of truth (bumped by `make release-version`).
|
||||||
|
# Falls back to git describe for ad-hoc builds where VERSION hasn't been committed yet.
|
||||||
|
VERSION := $(shell [ -f VERSION ] && echo "v$$(cat VERSION | tr -d '[:space:]')" || git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||||
BUILD_DATE := $(shell date -u +"%Y-%m-%d %H:%M:%S UTC")
|
BUILD_DATE := $(shell date -u +"%Y-%m-%d %H:%M:%S UTC")
|
||||||
LDFLAGS := -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=$(VERSION)' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=$(BUILD_DATE)'
|
LDFLAGS := -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=$(VERSION)' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=$(BUILD_DATE)'
|
||||||
|
|
||||||
@@ -223,6 +225,15 @@ release: lint fmt-check test build ## Run lint, format check, tests, build, then
|
|||||||
echo "Creating new release: $$version"; \
|
echo "Creating new release: $$version"; \
|
||||||
commit_logs=$$(git log "$${latest_tag}..HEAD" --pretty=format:"- %s" --no-merges); \
|
commit_logs=$$(git log "$${latest_tag}..HEAD" --pretty=format:"- %s" --no-merges); \
|
||||||
fi; \
|
fi; \
|
||||||
|
PKGVER=$${version#v}; \
|
||||||
|
echo "Updating package metadata to $$PKGVER..."; \
|
||||||
|
echo "$$PKGVER" > VERSION; \
|
||||||
|
sed -i "s/^pkgver=.*/pkgver=$$PKGVER/" linux/arch/PKGBUILD; \
|
||||||
|
sed -i "s/^Version:.*/Version: $$PKGVER/" linux/centos/relspec.spec; \
|
||||||
|
git add VERSION linux/arch/PKGBUILD linux/centos/relspec.spec; \
|
||||||
|
if ! git diff --cached --quiet; then \
|
||||||
|
git commit -m "chore(release): update package version to $$PKGVER"; \
|
||||||
|
fi; \
|
||||||
if [ -z "$$commit_logs" ]; then \
|
if [ -z "$$commit_logs" ]; then \
|
||||||
tag_message="Release $$version"; \
|
tag_message="Release $$version"; \
|
||||||
else \
|
else \
|
||||||
@@ -232,17 +243,18 @@ release: lint fmt-check test build ## Run lint, format check, tests, build, then
|
|||||||
git push origin "$$version"; \
|
git push origin "$$version"; \
|
||||||
echo "Tag $$version created and pushed to remote repository."
|
echo "Tag $$version created and pushed to remote repository."
|
||||||
|
|
||||||
release-version: ## Auto-increment patch version, update package files, commit, tag, and push
|
release-version: ## Auto-increment patch version, update VERSION/package files, commit, tag, and push
|
||||||
@CURRENT=$$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0"); \
|
@CURRENT=$$([ -f VERSION ] && cat VERSION | tr -d '[:space:]' || (git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//') || echo "0.0.0"); \
|
||||||
MAJOR=$$(echo $$CURRENT | sed 's/v\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'); \
|
MAJOR=$$(echo $$CURRENT | cut -d. -f1); \
|
||||||
MINOR=$$(echo $$CURRENT | sed 's/v\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'); \
|
MINOR=$$(echo $$CURRENT | cut -d. -f2); \
|
||||||
PATCH=$$(echo $$CURRENT | sed 's/v\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'); \
|
PATCH=$$(echo $$CURRENT | cut -d. -f3); \
|
||||||
NEXT="v$$MAJOR.$$MINOR.$$((PATCH + 1))"; \
|
|
||||||
PKGVER="$$MAJOR.$$MINOR.$$((PATCH + 1))"; \
|
PKGVER="$$MAJOR.$$MINOR.$$((PATCH + 1))"; \
|
||||||
echo "Current: $$CURRENT → Next: $$NEXT"; \
|
NEXT="v$$PKGVER"; \
|
||||||
|
echo "Current: v$$CURRENT → Next: $$NEXT"; \
|
||||||
|
echo "$$PKGVER" > VERSION; \
|
||||||
sed -i "s/^pkgver=.*/pkgver=$$PKGVER/" linux/arch/PKGBUILD; \
|
sed -i "s/^pkgver=.*/pkgver=$$PKGVER/" linux/arch/PKGBUILD; \
|
||||||
sed -i "s/^Version:.*/Version: $$PKGVER/" linux/centos/relspec.spec; \
|
sed -i "s/^Version:.*/Version: $$PKGVER/" linux/centos/relspec.spec; \
|
||||||
git add linux/arch/PKGBUILD linux/centos/relspec.spec; \
|
git add VERSION linux/arch/PKGBUILD linux/centos/relspec.spec; \
|
||||||
git commit -m "chore(release): update package version to $$PKGVER"; \
|
git commit -m "chore(release): update package version to $$PKGVER"; \
|
||||||
git tag -a "$$NEXT" -m "Release $$NEXT"; \
|
git tag -a "$$NEXT" -m "Release $$NEXT"; \
|
||||||
git push origin HEAD "$$NEXT"; \
|
git push origin HEAD "$$NEXT"; \
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
# Maintainer: Hein (Warky Devs) <hein@warky.dev>
|
# Maintainer: Hein (Warky Devs) <hein@warky.dev>
|
||||||
pkgname=relspec
|
pkgname=relspec
|
||||||
pkgver=1.0.74
|
pkgver=1.0.81
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs."
|
pkgdesc="RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs."
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
@@ -15,7 +15,7 @@ build() {
|
|||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
go build \
|
go build \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-ldflags "-X git.warky.dev/wdevs/relspecgo/cmd/relspec.version=$pkgver" \
|
-ldflags "-X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=v$pkgver' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=$(date -u +"%Y-%m-%d %H:%M:%S UTC")'" \
|
||||||
-o "$pkgname" ./cmd/relspec
|
-o "$pkgname" ./cmd/relspec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Name: relspec
|
Name: relspec
|
||||||
Version: 1.0.74
|
Version: 1.0.81
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs.
|
Summary: RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs.
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ DBML, GraphQL, and more.
|
|||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
go build \
|
go build \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-ldflags "-X git.warky.dev/wdevs/relspecgo/cmd/relspec.version=%{version}" \
|
-ldflags "-X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.Version=v%{version}' -X 'git.warky.dev/wdevs/relspecgo/pkg/buildinfo.BuildDate=$(date -u +"%%Y-%%m-%%d %%H:%%M:%%S UTC")'" \
|
||||||
-o %{name} ./cmd/relspec
|
-o %{name} ./cmd/relspec
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|||||||
Reference in New Issue
Block a user