ethos-gemkit 0.3.0 → 0.3.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +17 -13
- data/UPGRADE.md +12 -0
- data/lib/ethos/gemkit/release_tasks.rb +1 -1
- data/lib/ethos/gemkit/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a6874e64af38ffa0301d9db238dc2a7a4a95e4de66df211003491ec5c68f74a0
|
|
4
|
+
data.tar.gz: 1ef1d85750e28953db05b02d142b4dd728879a3f7c6bfc79525b1fae7c29bcf0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13b6137a5f8de672582a52d84c8084d60e9af03718bae99f4d1b3274ccaeac3a97a93a50217e04ade33cdb8421f8b27a9e7c70aa0614582ba061879f677d7994
|
|
7
|
+
data.tar.gz: f12acfadd4abb54a6f99a9c6eed7ac94747e497bc575c59018ab68ac0631cd6f7e46b4255773d0d9a45af9646d8d79108bbfc01118332483e92f0f90793e8065
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ 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.3.1] - 2026-11-05
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- remove unused package and changelog entries
|
|
13
|
+
- provision consumer dependencies before checks
|
|
14
|
+
- run checks locally to preserve Actions budget
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- normalize generated release notes
|
|
20
|
+
|
|
8
21
|
## [0.3.0] - 2026-11-05
|
|
9
22
|
|
|
10
23
|
### Changed
|
data/README.md
CHANGED
|
@@ -53,10 +53,13 @@ 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
|
-
|
|
57
|
-
|
|
58
|
-
browser
|
|
59
|
-
|
|
56
|
+
Run verification locally before pushing and when preparing a release. GitHub
|
|
57
|
+
Actions checks commit messages on ordinary PRs and main pushes; it does not run
|
|
58
|
+
tests, lint, browser checks or integration suites. Release workflows validate
|
|
59
|
+
release source and package integrity, then tag and publish without repeating
|
|
60
|
+
the locally completed checks. Commitlint checks out Gemkit at the caller's
|
|
61
|
+
`toolkit-ref` and runs its Ruby CLI without installing the consumer bundle. Set
|
|
62
|
+
that input to the same immutable commit as the workflow pin.
|
|
60
63
|
|
|
61
64
|
## Private gem access
|
|
62
65
|
|
|
@@ -78,7 +81,7 @@ token. See [GitHub's registry guide](https://docs.github.com/en/packages/working
|
|
|
78
81
|
**Run `release:prepare` from clean, up-to-date `main`.** It creates the conventional
|
|
79
82
|
release branch and opens a PR. **Merging that release PR starts publication.**
|
|
80
83
|
This is the same process for Gemkit itself and its adopted consumer gems.
|
|
81
|
-
Ordinary feature/fix PRs run
|
|
84
|
+
Ordinary feature/fix PRs run commitlint; only a release PR starts publication.
|
|
82
85
|
|
|
83
86
|
### One-time prerequisites
|
|
84
87
|
|
|
@@ -111,11 +114,10 @@ against `main` and `push: tags: ["v*"]`, and pin the commit matching the install
|
|
|
111
114
|
Gemkit release.
|
|
112
115
|
See the [Tunnel caller](https://github.com/ethos-link/cloudflare-tunnel/blob/main/.github/workflows/release.yml).
|
|
113
116
|
|
|
114
|
-
Projects keep their own checks. Engines can register `checks: [ci:local]`
|
|
115
|
-
`.ethos-gemkit.yml` and have that task run `bin/ci`.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
publishing credentials remain in the separate publish job.
|
|
117
|
+
Projects keep their own local checks. Engines can register `checks: [ci:local]`
|
|
118
|
+
in `.ethos-gemkit.yml` and have that task run `bin/ci`. Provision PostgreSQL or
|
|
119
|
+
browser dependencies locally before running verification. Release callers do
|
|
120
|
+
not install test dependencies or accept `build-setup`.
|
|
119
121
|
|
|
120
122
|
### RubyGems trusted-publisher settings
|
|
121
123
|
|
|
@@ -177,7 +179,8 @@ When starting from main, a leftover local release branch is recreated only if
|
|
|
177
179
|
all its commits are already in main; unmerged work is preserved and stops the task.
|
|
178
180
|
|
|
179
181
|
Review the generated notes, lockfile and version in the PR. Add or adjust upgrade
|
|
180
|
-
notes in a follow-up commit when needed,
|
|
182
|
+
notes in a follow-up commit when needed, rerun affected checks locally, and wait
|
|
183
|
+
for commitlint before merging. The task
|
|
181
184
|
prints the PR URL and makes clear that merging it publishes the release.
|
|
182
185
|
|
|
183
186
|
### Merge and publish
|
|
@@ -185,8 +188,9 @@ prints the PR URL and makes clear that merging it publishes the release.
|
|
|
185
188
|
Merging a same-repository `chore/release-vX.Y.Z` PR into main runs the shared
|
|
186
189
|
workflow against its exact merge commit, including squash and rebase merges:
|
|
187
190
|
|
|
188
|
-
1. Verify the expected version, main ancestry, notes
|
|
189
|
-
|
|
191
|
+
1. Verify the expected version, main ancestry, notes and committed package bytes;
|
|
192
|
+
build one release artifact through Bundler. Tests and lint already ran locally
|
|
193
|
+
during `release:prepare` and are not repeated in Actions.
|
|
190
194
|
2. Create and push the annotated `vX.Y.Z` tag without overwriting existing tags
|
|
191
195
|
or following unrelated local tags.
|
|
192
196
|
3. In an isolated job, verify the artifact's SHA-256 checksums, obtain the proper
|
data/UPGRADE.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Upgrading Gemkit
|
|
2
2
|
|
|
3
|
+
## 0.3.1
|
|
4
|
+
|
|
5
|
+
Run `bundle exec rake verify` locally before pushing. `release:prepare` still
|
|
6
|
+
runs the complete local verification gate. `release:build` validates release
|
|
7
|
+
source and packages it without repeating tests or lint in GitHub Actions.
|
|
8
|
+
|
|
9
|
+
Delete verification workflow callers (`ruby.yml` or `verify.yml`) and retain
|
|
10
|
+
commitlint and release callers. Pin the installed Gemkit and remaining callers
|
|
11
|
+
to the same release. Pass that immutable commit as `toolkit-ref` to the commitlint
|
|
12
|
+
caller; commitlint runs the pinned Ruby CLI without a bundle install. Remove the release caller's `build-setup` input; databases,
|
|
13
|
+
browsers and other test dependencies are now provisioned only locally.
|
|
14
|
+
|
|
3
15
|
## 0.2.1
|
|
4
16
|
|
|
5
17
|
Release preparation now fetches registry checksums with Bundler instead of
|
|
@@ -10,7 +10,7 @@ task "release:prepare", [:target] do |_task, args|
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
desc "Verify release source and build using Bundler's native task"
|
|
13
|
-
task "release:build"
|
|
13
|
+
task "release:build" do
|
|
14
14
|
release = Ethos::Gemkit::Release.new(config)
|
|
15
15
|
notes = release.verify(ENV.fetch("RELEASE_TAG"), tagged: ENV["RELEASE_FROM_PR"] != "true")
|
|
16
16
|
Rake::Task[:build].invoke
|
data/lib/ethos/gemkit/version.rb
CHANGED