Skip to content

Commit 8bb36df

Browse files
committed
Remove version numbers from release artifact filenames
- Update build.sh to create archives without version in filename - Change lrm-0.6.3-linux-x64.tar.gz to lrm-linux-x64.tar.gz - Update all documentation to use /latest/download URLs - Update install-lrm.sh to use static filenames - Remove README.md from release workflow commits - Update bump-version.sh to skip README updates - Filter automated commits from release changelog - Only LocalizationManager.csproj and CHANGELOG.md are updated during releases Benefits: - Permanent /latest/download URLs that never break - No documentation updates needed on each release - Cleaner release process with minimal codebase changes
1 parent c0f9acb commit 8bb36df

7 files changed

Lines changed: 49 additions & 66 deletions

File tree

.github/workflows/release.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ jobs:
7373
echo "Previous tag: ${PREV_TAG:-none (first release)}"
7474
7575
if [ -z "$PREV_TAG" ]; then
76-
# First release - get all commits
77-
COMMITS=$(git log --pretty=format:"- %s (%h)" --no-merges | head -20)
76+
# First release - get all commits (excluding automated commits)
77+
COMMITS=$(git log --pretty=format:"- %s (%h)" --no-merges | grep -v "\[skip ci\]" | grep -v "Update CHANGELOG" | grep -v "Bump version to" | head -20)
7878
else
79-
# Get commits since last version tag
80-
COMMITS=$(git log ${PREV_TAG}..HEAD --pretty=format:"- %s (%h)" --no-merges)
79+
# Get commits since last version tag (excluding automated commits)
80+
COMMITS=$(git log ${PREV_TAG}..HEAD --pretty=format:"- %s (%h)" --no-merges | grep -v "\[skip ci\]" | grep -v "Update CHANGELOG" | grep -v "Bump version to")
8181
fi
8282
8383
# Build changelog for GitHub release
@@ -117,7 +117,7 @@ jobs:
117117
run: |
118118
git config user.name "github-actions[bot]"
119119
git config user.email "github-actions[bot]@users.noreply.github.com"
120-
git add LocalizationManager.csproj README.md CHANGELOG.md
120+
git add LocalizationManager.csproj CHANGELOG.md
121121
git commit -m "Bump version to ${{ steps.version.outputs.version }} [skip ci]"
122122
123123
- name: Push version commit to main
@@ -150,10 +150,10 @@ jobs:
150150
151151
Choose the appropriate version for your platform:
152152
153-
- **Linux (x64):** `lrm-${{ steps.version.outputs.version }}-linux-x64.tar.gz`
154-
- **Linux (ARM64):** `lrm-${{ steps.version.outputs.version }}-linux-arm64.tar.gz` *(Raspberry Pi, etc.)*
155-
- **Windows (x64):** `lrm-${{ steps.version.outputs.version }}-win-x64.zip`
156-
- **Windows (ARM64):** `lrm-${{ steps.version.outputs.version }}-win-arm64.zip`
153+
- **Linux (x64):** `lrm-linux-x64.tar.gz`
154+
- **Linux (ARM64):** `lrm-linux-arm64.tar.gz` *(Raspberry Pi, etc.)*
155+
- **Windows (x64):** `lrm-win-x64.zip`
156+
- **Windows (ARM64):** `lrm-win-arm64.zip`
157157
158158
## 📖 Installation
159159
@@ -163,10 +163,10 @@ jobs:
163163
164164
✅ All 21 tests passing
165165
files: |
166-
publish/lrm-${{ steps.version.outputs.version }}-linux-x64.tar.gz
167-
publish/lrm-${{ steps.version.outputs.version }}-linux-arm64.tar.gz
168-
publish/lrm-${{ steps.version.outputs.version }}-win-x64.zip
169-
publish/lrm-${{ steps.version.outputs.version }}-win-arm64.zip
166+
publish/lrm-linux-x64.tar.gz
167+
publish/lrm-linux-arm64.tar.gz
168+
publish/lrm-win-x64.zip
169+
publish/lrm-win-arm64.zip
170170
draft: false
171171
prerelease: false
172172

BUILDING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ publish/
3232
├── win-arm64/
3333
│ ├── lrm.exe # ARM Windows executable
3434
│ └── README.txt
35-
├── lrm-0.6.0-linux-x64.tar.gz
36-
├── lrm-0.6.0-linux-arm64.tar.gz
37-
├── lrm-0.6.0-win-x64.zip
38-
└── lrm-0.6.0-win-arm64.zip
35+
├── lrm-linux-x64.tar.gz
36+
├── lrm-linux-arm64.tar.gz
37+
├── lrm-win-x64.zip
38+
└── lrm-win-arm64.zip
3939
```
4040

4141
## Installation
@@ -61,7 +61,7 @@ lrm --version
6161
```
6262

6363
### Windows
64-
1. Extract `lrm-0.6.0-win-x64.zip`
64+
1. Extract `lrm-win-x64.zip`
6565
2. Move `lrm.exe` to a directory in your PATH
6666
- Or add the directory to PATH in System Environment Variables
6767
3. Open Command Prompt or PowerShell:

EXAMPLES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ jobs:
437437

438438
- name: Download LRM
439439
run: |
440-
wget https://github.com/nickprotop/LocalizationManager/releases/download/v0.6.0/lrm-0.6.0-linux-x64.tar.gz
441-
tar -xzf lrm-0.6.0-linux-x64.tar.gz
440+
wget https://github.com/nickprotop/LocalizationManager/releases/latest/download/lrm-linux-x64.tar.gz
441+
tar -xzf lrm-linux-x64.tar.gz
442442
chmod +x lrm
443443
444444
- name: Validate Resources

INSTALLATION.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,20 @@ Requires `sudo` privileges. Makes `lrm` available to all users.
5454
```bash
5555
# Download the latest release
5656
cd /tmp
57-
wget https://github.com/nickprotop/LocalizationManager/releases/download/v0.6.0/lrm-0.6.0-linux-x64.tar.gz
57+
wget https://github.com/nickprotop/LocalizationManager/releases/latest/download/lrm-linux-x64.tar.gz
5858

5959
# Extract the archive
60-
tar -xzf lrm-0.6.0-linux-x64.tar.gz
60+
tar -xzf lrm-linux-x64.tar.gz
6161

6262
# Install to system binary directory
6363
sudo cp lrm /usr/local/bin/
6464
sudo chmod +x /usr/local/bin/lrm
6565

6666
# Verify installation
6767
lrm --version
68-
# Output: 0.6.0
6968

7069
# Clean up
71-
rm lrm-0.6.0-linux-x64.tar.gz
70+
rm lrm-linux-x64.tar.gz
7271
```
7372

7473
#### Option 2: User-local Installation
@@ -78,8 +77,8 @@ No `sudo` required. Only available to current user.
7877
```bash
7978
# Download and extract
8079
cd /tmp
81-
wget https://github.com/nickprotop/LocalizationManager/releases/download/v0.6.0/lrm-0.6.0-linux-x64.tar.gz
82-
tar -xzf lrm-0.6.0-linux-x64.tar.gz
80+
wget https://github.com/nickprotop/LocalizationManager/releases/latest/download/lrm-linux-x64.tar.gz
81+
tar -xzf lrm-linux-x64.tar.gz
8382

8483
# Create user binary directory if it doesn't exist
8584
mkdir -p ~/.local/bin
@@ -101,7 +100,7 @@ source ~/.zshrc
101100
lrm --version
102101

103102
# Clean up
104-
rm lrm-0.6.0-linux-x64.tar.gz
103+
rm lrm-linux-x64.tar.gz
105104
```
106105

107106
### Linux (ARM64)
@@ -112,10 +111,10 @@ Follow the same steps as Linux x64, but use the ARM64 archive:
112111

113112
```bash
114113
# Download ARM64 version
115-
wget https://github.com/nickprotop/LocalizationManager/releases/download/v0.6.0/lrm-0.6.0-linux-arm64.tar.gz
114+
wget https://github.com/nickprotop/LocalizationManager/releases/latest/download/lrm-linux-arm64.tar.gz
116115

117116
# Extract and install (same steps as x64)
118-
tar -xzf lrm-0.6.0-linux-arm64.tar.gz
117+
tar -xzf lrm-linux-arm64.tar.gz
119118
sudo cp lrm /usr/local/bin/
120119
sudo chmod +x /usr/local/bin/lrm
121120

@@ -134,11 +133,11 @@ lrm --version
134133
#### Option 1: Install to Program Files (Recommended)
135134

136135
1. **Download the release:**
137-
- Go to: https://github.com/nickprotop/LocalizationManager/releases/tag/v0.6.0
138-
- Download: `lrm-0.6.0-win-x64.zip`
136+
- Go to: https://github.com/nickprotop/LocalizationManager/releases/latest
137+
- Download: `lrm-win-x64.zip`
139138

140139
2. **Extract the archive:**
141-
- Right-click `lrm-0.6.0-win-x64.zip`
140+
- Right-click `lrm-win-x64.zip`
142141
- Select "Extract All..."
143142
- Extract to: `C:\Program Files\LRM\`
144143

@@ -154,11 +153,10 @@ lrm --version
154153
4. **Verify installation:**
155154
- Open Command Prompt or PowerShell (new window)
156155
- Run: `lrm --version`
157-
- Output: `0.6.0`
158156

159157
#### Option 2: Portable Installation
160158

161-
1. Extract `lrm-0.6.0-win-x64.zip` to any folder
159+
1. Extract `lrm-win-x64.zip` to any folder
162160
2. Run `lrm.exe` from that folder with full path:
163161
```cmd
164162
C:\path\to\lrm\lrm.exe --version
@@ -181,7 +179,7 @@ lrm --version
181179
**For ARM 64-bit processors (ARM-based Windows devices)**
182180

183181
Follow the same steps as Windows x64, but download:
184-
- `lrm-0.6.0-win-arm64.zip`
182+
- `lrm-win-arm64.zip`
185183

186184
---
187185

@@ -245,10 +243,10 @@ publish/
245243
├── linux-arm64/lrm
246244
├── win-x64/lrm.exe
247245
├── win-arm64/lrm.exe
248-
├── lrm-0.6.0-linux-x64.tar.gz
249-
├── lrm-0.6.0-linux-arm64.tar.gz
250-
├── lrm-0.6.0-win-x64.zip
251-
└── lrm-0.6.0-win-arm64.zip
246+
├── lrm-linux-x64.tar.gz
247+
├── lrm-linux-arm64.tar.gz
248+
├── lrm-win-x64.zip
249+
└── lrm-win-arm64.zip
252250
```
253251

254252
### Build Single Platform

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,10 @@ print_step "Creating distribution archives..."
130130
for platform in "${platforms[@]}"; do
131131
if [[ $platform == win-* ]]; then
132132
exe_name="lrm.exe"
133-
archive_name="lrm-${VERSION}-${platform}.zip"
133+
archive_name="lrm-${platform}.zip"
134134
else
135135
exe_name="lrm"
136-
archive_name="lrm-${VERSION}-${platform}.tar.gz"
136+
archive_name="lrm-${platform}.tar.gz"
137137
fi
138138

139139
# Create README for distribution

bump-version.sh

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,13 @@ update_readme() {
118118
return
119119
fi
120120

121-
# Update header version (**Version:** X.Y.Z)
122-
sed -i "s|\*\*Version:\*\* $old_version|\*\*Version:\*\* $new_version|g" "$README_FILE"
121+
# Note: README.md no longer needs version updates
122+
# - Archive names are now static (lrm-linux-x64.tar.gz) without version numbers
123+
# - Documentation uses /latest/ download URLs
124+
# - No version-specific references in README
125+
# This keeps the codebase clean - version is only in LocalizationManager.csproj and CHANGELOG.md
123126

124-
# Update features header (### ✅ Current (vX.Y.Z))
125-
sed -i "s|### ✅ Current (v$old_version)|### ✅ Current (v$new_version)|g" "$README_FILE"
126-
127-
# Update GitHub release URLs (v0.6.0 → v0.7.0)
128-
sed -i "s|/v$old_version/|/v$new_version/|g" "$README_FILE"
129-
130-
# Update archive filenames (lrm-0.6.0- → lrm-0.7.0-)
131-
sed -i "s|lrm-$old_version-|lrm-$new_version-|g" "$README_FILE"
127+
echo " Skipping README.md (no version-specific content)"
132128
}
133129

134130
# Main script

install-lrm.sh

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,11 @@ fi
4141

4242
echo -e "${GREEN}${NC} Detected platform: $PLATFORM"
4343

44-
# Get latest version
45-
echo "Fetching latest version..."
46-
VERSION=$(curl -s https://api.github.com/repos/nickprotop/LocalizationManager/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
44+
# Download URL (using latest release)
45+
FILENAME="lrm-${PLATFORM}.tar.gz"
46+
URL="https://github.com/nickprotop/LocalizationManager/releases/latest/download/${FILENAME}"
4747

48-
if [[ -z "$VERSION" ]]; then
49-
echo -e "${RED}Error: Could not fetch latest version${NC}"
50-
exit 1
51-
fi
52-
53-
echo -e "${GREEN}${NC} Latest version: v$VERSION"
54-
55-
# Download URL
56-
FILENAME="lrm-${VERSION}-${PLATFORM}.tar.gz"
57-
URL="https://github.com/nickprotop/LocalizationManager/releases/download/v${VERSION}/${FILENAME}"
58-
59-
echo "Downloading LRM..."
48+
echo "Downloading latest LRM..."
6049
TEMP_DIR=$(mktemp -d)
6150
cd "$TEMP_DIR"
6251

0 commit comments

Comments
 (0)