openclacky 0.9.14 → 0.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1deed3c386ab1fc9beebff6dd48d50210ed8a3d6a1f3a79848dbf77030c78d90
4
- data.tar.gz: 188211af7374bd71c3542be5a7252aeef256f7860c47a100e2b5a2e657dfd029
3
+ metadata.gz: 73657a4d44ef0b3136b6e39dc04bff953ba130826e3e5a3bffef023325cc96bd
4
+ data.tar.gz: 8f4353c21c7a99f5fdf15eabeabf99b67d40113a11ee6adc292f28cc18c9c3a1
5
5
  SHA512:
6
- metadata.gz: 74d9ee091703bb95838f64a214a4fb233bcb4764e428cd76e17a53add5c6c54ad21129499f4c83956b4692a04261fc5e43e39debd88883ab40eb6c13f46ad2ba
7
- data.tar.gz: c080f4e429ff68cba617cf539de1597be5be0c9014c1dca49d94892d7d469b1ebe190432eaa2f91a7ba78364e8a19baddd79db70b30bd283cb21721400cfbb39
6
+ metadata.gz: 2dfc1052b9c76313b4a711a0221a7a76997a232187fcc5f0b946e7c00e50a45ba1842fdb2ecee091c0f06bdf75284bb0cf5a0cd81df0bbe2ab228f19209194df
7
+ data.tar.gz: 326e975b09921a14b338943a9dc09a24a4409206e268e24498f9672292ebd0a5425ee751e2696fa84be7afbc590ab32c42648b5073bb0b0399865f66390afd19
@@ -91,24 +91,45 @@ To use this skill, simply say:
91
91
  git push origin main --tags
92
92
  ```
93
93
 
94
- 4. **Create GitHub Release**
94
+ 4. **Create GitHub Release and Upload gem**
95
95
 
96
- Extract the release notes for this version from CHANGELOG.md, then create a GitHub Release:
96
+ Extract the release notes for this version from CHANGELOG.md, then create a GitHub Release with the .gem file attached:
97
97
  ```bash
98
98
  gh release create v{version} \
99
99
  --title "v{version}" \
100
100
  --notes-file /tmp/release_notes.md \
101
- --latest
101
+ --latest \
102
+ openclacky-{version}.gem
102
103
  ```
103
104
 
104
105
  Steps:
105
106
  - Parse the CHANGELOG.md section for `[{version}]`
106
107
  - Write it to a temp file (e.g., `/tmp/release_notes_{version}.md`) to avoid shell escaping issues
107
- - Run `gh release create` with `--notes-file`
108
+ - Run `gh release create` with `--notes-file` **and the .gem file as an asset**
108
109
  - Verify the release appears at: `https://github.com/clacky-ai/openclacky/releases`
109
110
 
110
111
  > **Prerequisite**: `gh` CLI must be installed (`brew install gh`) and authenticated (`gh auth login`)
111
112
 
113
+ 5. **Sync to Tencent Cloud OSS (CN mirror)**
114
+
115
+ After GitHub Release is created, upload the .gem file and update `latest.txt` on OSS so Chinese users can install without hitting GitHub directly:
116
+
117
+ ```bash
118
+ # Upload .gem file
119
+ coscli cp openclacky-{version}.gem cos://clackyai-1258723534/openclacky/openclacky-{version}.gem
120
+
121
+ # Update latest.txt
122
+ echo "{version}" > /tmp/latest.txt
123
+ coscli cp /tmp/latest.txt cos://clackyai-1258723534/openclacky/latest.txt
124
+
125
+ # Verify
126
+ curl -fsSL https://oss.1024code.com/openclacky/latest.txt
127
+ ```
128
+
129
+ Expected output of verify: `{version}`
130
+
131
+ > **Prerequisite**: `coscli` installed at `/usr/local/bin/coscli` and configured at `~/.cos.yaml`
132
+
112
133
  5. **Verify Publication**
113
134
  - Check gem appears on RubyGems.org
114
135
  - Verify version information is correct
@@ -283,14 +304,21 @@ git tag vX.Y.Z
283
304
  git push origin main
284
305
  git push origin --tags
285
306
 
286
- # Create GitHub Release (requires gh CLI)
307
+ # Create GitHub Release with .gem asset (requires gh CLI)
287
308
  # 1. Extract release notes from CHANGELOG.md for this version
288
309
  # 2. Write to temp file to avoid shell escaping issues
289
- # 3. Create the release
310
+ # 3. Create the release and attach .gem file
290
311
  gh release create vX.Y.Z \
291
312
  --title "vX.Y.Z" \
292
313
  --notes-file /tmp/release_notes_X.Y.Z.md \
293
- --latest
314
+ --latest \
315
+ openclacky-X.Y.Z.gem
316
+
317
+ # Sync to Tencent Cloud OSS (CN mirror)
318
+ coscli cp openclacky-X.Y.Z.gem cos://clackyai-1258723534/openclacky/openclacky-X.Y.Z.gem
319
+ echo "X.Y.Z" > /tmp/latest.txt
320
+ coscli cp /tmp/latest.txt cos://clackyai-1258723534/openclacky/latest.txt
321
+ curl -fsSL https://oss.1024code.com/openclacky/latest.txt # verify
294
322
  ```
295
323
 
296
324
  ## File Locations
@@ -308,7 +336,9 @@ gh release create vX.Y.Z \
308
336
  - New version successfully published to RubyGems
309
337
  - Git repository updated with version tag
310
338
  - CHANGELOG.md updated with release notes
311
- - GitHub Release created and visible at https://github.com/clacky-ai/openclacky/releases
339
+ - GitHub Release created with .gem file attached at https://github.com/clacky-ai/openclacky/releases
340
+ - .gem file uploaded to OSS: https://oss.1024code.com/openclacky/openclacky-{version}.gem
341
+ - latest.txt updated on OSS: https://oss.1024code.com/openclacky/latest.txt returns the new version
312
342
  - No build or deployment errors
313
343
  - User-facing release summary presented at the end
314
344
 
data/CHANGELOG.md CHANGED
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.9.15] - 2026-03-27
11
+
12
+ ### Improved
13
+ - **CN install now downloads gem from OSS mirror**: Chinese users no longer hit RubyGems.org or GitHub during installation — the install script fetches the `.gem` file directly from `oss.1024code.com` and installs dependencies via Aliyun mirror, making installs faster and more reliable in mainland China
14
+
10
15
  ## [0.9.14] - 2026-03-27
11
16
 
12
17
  ### Fixed
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Clacky
4
- VERSION = "0.9.14"
4
+ VERSION = "0.9.15"
5
5
  end
@@ -108,6 +108,8 @@ CN_CDN_BASE_URL="https://oss.1024code.com"
108
108
  CN_MISE_INSTALL_URL="${CN_CDN_BASE_URL}/mise.sh"
109
109
  CN_RUBY_PRECOMPILED_URL="${CN_CDN_BASE_URL}/ruby/ruby-{version}.{platform}.tar.gz"
110
110
  CN_RUBYGEMS_URL="https://mirrors.aliyun.com/rubygems/"
111
+ CN_GEM_BASE_URL="${CN_CDN_BASE_URL}/openclacky"
112
+ CN_GEM_LATEST_URL="${CN_GEM_BASE_URL}/latest.txt"
111
113
 
112
114
  # Active values (overridden by detect_network_region)
113
115
  MISE_INSTALL_URL="$DEFAULT_MISE_INSTALL_URL"
@@ -445,7 +447,23 @@ install_via_gem() {
445
447
  configure_gem_source
446
448
  setup_gem_home
447
449
 
448
- gem install openclacky --no-document
450
+ if [ "$USE_CN_MIRRORS" = true ]; then
451
+ # CN: download .gem from OSS, install dependencies from Aliyun mirror
452
+ print_info "Fetching latest version from OSS..."
453
+ local cn_version
454
+ cn_version=$(curl -fsSL "$CN_GEM_LATEST_URL" | tr -d '[:space:]')
455
+ print_info "Latest version: ${cn_version}"
456
+
457
+ local gem_url="${CN_GEM_BASE_URL}/openclacky-${cn_version}.gem"
458
+ local gem_file="/tmp/openclacky-${cn_version}.gem"
459
+ print_info "Downloading openclacky-${cn_version}.gem from OSS..."
460
+ curl -fsSL "$gem_url" -o "$gem_file"
461
+ print_info "Installing gem and dependencies from Aliyun mirror..."
462
+ gem install "$gem_file" --no-document --source "$CN_RUBYGEMS_URL"
463
+ else
464
+ print_info "Installing gem and dependencies from RubyGems..."
465
+ gem install openclacky --no-document
466
+ fi
449
467
 
450
468
  if [ $? -eq 0 ]; then
451
469
  print_success "${DISPLAY_NAME} installed successfully!"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openclacky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.14
4
+ version: 0.9.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - windy