ethos-gemkit 0.2.0 → 0.2.1

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: 248ba6ddb45bb0374b8d8fb4a59a987606ce2c2494a5b74d45b5f1c70911c84c
4
- data.tar.gz: 0fd71c3766c11333163d12bf77399dc0b16748a0743aeed9b0cd5d09cc4c560e
3
+ metadata.gz: ea8ac801fd96cef32c35240e93271d04792235c4121c95f8261918f87795b2b1
4
+ data.tar.gz: 87a5464f90175cd5cf5f088f573ab2d47886ea2a702f5cb183f722081eb8bb47
5
5
  SHA512:
6
- metadata.gz: 0c18eed79a4fdc2482c4d24addd491c2c663c2db3aa48f8188c02af3e0032b763c8568f651b7a0be9b72a2f84417fc982b72b3fec2f551fd9aedf66d7c870d05
7
- data.tar.gz: 756aaa36df80a27b01f14e87093b4849f973ad690c6af486b38a948a7762e6028c5b9f9b2baf0034ccb8bda805525da7810912401398bf1e848dc35abfd1a8d5
6
+ metadata.gz: eb7aef3f0ccab2964c6a318649f72fbdc0f9fe9615814828c4161c386463794f10bcffc2383f001bfe9d7ba12bb46ff53a3e2280dc18481508df6b768ac1d62c
7
+ data.tar.gz: 74ba19f731bbbcfaa9a113e5d138929636fab47e2c35120ba410ed40019f04a797546d43911e18ef5b1bc5cac37f2953e6df277c974300f9554df1a5a64134c3
data/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.1] - 2026-11-05
9
+
10
+
11
+ ### Documentation
12
+
13
+ - clarify current setup
14
+
15
+ - document checksums for frozen installs
16
+
17
+ - distinguish source fixes from workflow retries
18
+
19
+
20
+
21
+
22
+ ### Fixed
23
+
24
+ - preserve checksums during preparation
25
+
26
+
27
+
8
28
  ## [0.2.0] - 2026-11-04
9
29
 
10
30
 
data/README.md CHANGED
@@ -7,14 +7,14 @@ belongs in the development/test Gemfile, never a consumer's runtime gemspec.
7
7
  Install the published gem in the development/test Gemfile:
8
8
 
9
9
  ```ruby
10
- gem "ethos-gemkit", "0.2.0", group: [:development, :test], require: false
10
+ gem "ethos-gemkit", "0.2.1", group: [:development, :test], require: false
11
11
  ```
12
12
 
13
13
  Pin workflow callers to the full commit behind the installed Gemkit release tag.
14
14
  Resolve that commit with:
15
15
 
16
16
  ```sh
17
- git ls-remote https://github.com/ethos-link/ethos-gemkit.git 'refs/tags/v0.2.0^{}'
17
+ git ls-remote https://github.com/ethos-link/ethos-gemkit.git 'refs/tags/v0.2.1^{}'
18
18
  ```
19
19
 
20
20
  Upgrade the gem version and workflow pins together. Consumer READMEs should cover
@@ -53,6 +53,21 @@ release tasks while a repository is adopting the toolkit.
53
53
  `bundle exec rake verify` runs lint, registered checks, a disposable native gem
54
54
  build, and git-cliff validation.
55
55
 
56
+ ## Private gem access
57
+
58
+ To install private gems locally, use a GitHub personal access token (classic)
59
+ with `read:packages` and access to the package. Configure Bundler once, replacing
60
+ `USERNAME` and `TOKEN` with your credentials:
61
+
62
+ ```sh
63
+ bundle config set --global https://rubygems.pkg.github.com/ethos-link USERNAME:TOKEN
64
+ ```
65
+
66
+ Keep credentials out of Gemfiles. Each gem documents its scoped source block.
67
+ Actions publishing uses `GITHUB_TOKEN`; installing another private repository's
68
+ package requires that repository to grant the workflow access or an explicit
69
+ token. See [GitHub's registry guide](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry).
70
+
56
71
  ## Releasing a gem
57
72
 
58
73
  **Run `release:prepare` from clean, up-to-date `main`.** It creates the conventional
@@ -62,6 +77,9 @@ Ordinary feature/fix PRs run verification; only a release PR starts publication.
62
77
 
63
78
  ### One-time prerequisites
64
79
 
80
+ - Commit `Gemfile.lock`. Before its first commit, run
81
+ `bundle lock --add-checksums`; frozen CI installs reject empty registry
82
+ checksum entries, even when the gems are already installed locally.
65
83
  - Ignore `/.bundle/`, `/vendor/bundle/` and `/pkg/` in `.gitignore`. The shared
66
84
  workflows use Ruby setup's native `vendor/bundle` cache; generated files must
67
85
  leave the release checkout clean.
@@ -146,8 +164,8 @@ setup.
146
164
  The task prints each step and streams command output as it runs. It checks the
147
165
  working tree, canonical origin, current main, installed hooks and target tag.
148
166
  It creates `chore/release-vX.Y.Z`, updates the version and
149
- changelog, runs `bundle lock --local` and the full `rake verify`, then commits the
150
- three metadata files with hooks enabled, pushes the branch, and opens a
167
+ changelog, runs `bundle lock --add-checksums` and the full `rake verify`, then
168
+ commits the three metadata files with hooks enabled, pushes the branch, and opens a
151
169
  `chore(release): prepare vX.Y.Z` PR. Main stays unchanged. You can also start on
152
170
  that exact pre-created release branch if its HEAD still equals `origin/main`.
153
171
  When starting from main, a leftover local release branch is recreated only if
@@ -200,7 +218,14 @@ workflow run. This reuses its verified artifact and existing tag; do not run
200
218
  gh run rerun RUN_ID --repo OWNER/REPOSITORY --failed
201
219
  ```
202
220
 
203
- For CI failures, retry **failed jobs in the original run** within GitHub's 30-day
221
+ If a failed build needs a source fix and no tag or upload exists, keep the
222
+ prepared version and notes. Update its `chore/release-vX.Y.Z` branch from main,
223
+ commit the fix, run verification and open a replacement release PR. Merge that
224
+ PR to run the corrected source. The original run stays pinned to its original
225
+ commit; rerunning it cannot pick up a source fix. Do not replace an existing tag
226
+ or reuse a version that was already published.
227
+
228
+ For transient CI failures, retry **failed jobs in the original run** within GitHub's 30-day
204
229
  retry window. Artifacts are retained for 90 days. A failed tag step can reuse an
205
230
  existing annotated tag only when it points to the same verified commit. A failed
206
231
  notes job reuses the original artifact without uploading again. Ambiguous uploads,
data/UPGRADE.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Upgrading Gemkit
2
2
 
3
+ ## 0.2.1
4
+
5
+ Release preparation now fetches registry checksums with Bundler instead of
6
+ using local-only resolution. Network access to configured gem sources is
7
+ required. Existing compatible dependency versions stay locked; complete
8
+ checksums prevent frozen CI installs from rejecting local cache metadata.
9
+
3
10
  ## 0.2.0
4
11
 
5
12
  Update the gem version and pin each workflow caller to the commit behind the
@@ -69,7 +69,7 @@ module Ethos
69
69
  File.write(file, text.sub(literal, %(VERSION = "#{target}")))
70
70
  run("git-cliff", "--config", "cliff.toml", "--unreleased", "--tag", "v#{target}", "--prepend", "CHANGELOG.md", live: true)
71
71
  progress "Updating Gemfile.lock"
72
- run("bundle", "lock", "--local", live: true)
72
+ run("bundle", "lock", "--add-checksums", live: true)
73
73
  progress "Running verification (lint, tests, package, changelog)"
74
74
  run("bundle", "exec", "rake", "verify", live: true)
75
75
  files = [@config.data.fetch("version_file"), "CHANGELOG.md", "Gemfile.lock"]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ethos
4
4
  module Gemkit
5
- VERSION = "0.2.0"
5
+ VERSION = "0.2.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ethos-gemkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethos Link