textfsm 0.2.1 → 0.2.2
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 +4 -0
- data/README.md +9 -34
- data/lib/textfsm/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 32964a356a1628ef07df499f93d1e9fdc52f7884826d3a80e7ee339aefe3c51b
|
|
4
|
+
data.tar.gz: 63572a7dcab089698adcaf10c216f3867513edae6f49d4197b8a9aa426b238c2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 430368496eb8b805cad3f944a7d9678286d69a34bb1b2c625c89cc326463df86e7e6861142a7cc9fbf9849777320bd203ca2d996212a8c84f6b9dafdc871a6d2
|
|
7
|
+
data.tar.gz: 1447c9de34de499d88ae5a9f8906148353710b410312103777d43a1691345987e112603530a236eb441acf83ea384bda2973753deb9a767519257fc768d672d3
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -31,7 +31,7 @@ gem "textfsm", path: "/path/to/textfsm"
|
|
|
31
31
|
```sh
|
|
32
32
|
bundle install
|
|
33
33
|
bundle exec rake build
|
|
34
|
-
gem install ./pkg/textfsm-0.2.
|
|
34
|
+
gem install ./pkg/textfsm-0.2.2.gem
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
源码仓库:[gatework/textfsm](https://github.com/gatework/textfsm)。
|
|
@@ -52,7 +52,7 @@ template = <<~'FSM'
|
|
|
52
52
|
FSM
|
|
53
53
|
|
|
54
54
|
text = <<~TEXT
|
|
55
|
-
GigabitEthernet0/0 192.0.2.
|
|
55
|
+
GigabitEthernet0/0 192.0.2.2 up up
|
|
56
56
|
GigabitEthernet0/1 unassigned administratively down down
|
|
57
57
|
TEXT
|
|
58
58
|
|
|
@@ -60,12 +60,12 @@ fsm = TextFSM::Parser.new(template)
|
|
|
60
60
|
p fsm.header
|
|
61
61
|
# => ["INTERFACE", "ADDRESS", "STATUS", "PROTOCOL"]
|
|
62
62
|
p fsm.parse(text)
|
|
63
|
-
# => [["GigabitEthernet0/0", "192.0.2.
|
|
63
|
+
# => [["GigabitEthernet0/0", "192.0.2.2", "up", "up"],
|
|
64
64
|
# ["GigabitEthernet0/1", "unassigned", "administratively down", "down"]]
|
|
65
65
|
|
|
66
66
|
fsm.reset
|
|
67
67
|
p fsm.parse_hashes(text)
|
|
68
|
-
# => [{"INTERFACE"=>"GigabitEthernet0/0", "ADDRESS"=>"192.0.2.
|
|
68
|
+
# => [{"INTERFACE"=>"GigabitEthernet0/0", "ADDRESS"=>"192.0.2.2",
|
|
69
69
|
# "STATUS"=>"up", "PROTOCOL"=>"up"}, ...]
|
|
70
70
|
```
|
|
71
71
|
|
|
@@ -238,37 +238,12 @@ parser = TextFSM::Parser.new(template, options: { "Uppercase" => Uppercase })
|
|
|
238
238
|
|
|
239
239
|
## 发布到 RubyGems
|
|
240
240
|
|
|
241
|
-
|
|
241
|
+
发布使用标签触发的 OIDC Trusted Publishing,不保存长期 API key。完整 Ruby CI 矩阵通过后,
|
|
242
|
+
工作流验证并上传同次 CI 的 gem,再核对 RubyGems 下载和 GitHub Release 的 SHA256。
|
|
243
|
+
流程、账号绑定及失败恢复见 [发布说明](docs/RELEASING.md)。
|
|
242
244
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
bundle exec rake release:check
|
|
246
|
-
# 等价于 bundle exec ruby script/release.rb --dry-run
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
检查模式可以在尚未提交的工作区运行,不访问 RubyGems,也不会创建提交或标签。正式发布需要工作区干净,所有入包文件已提交到 Git:
|
|
250
|
-
|
|
251
|
-
1. 修改 `lib/textfsm/version.rb` 中的版本号。新版本使用 RubyGems 版本格式,例如 `0.2.2` 或 `0.3.0.pre.1`。
|
|
252
|
-
2. 运行 `bundle install` 更新 `Gemfile.lock`,再运行 `bundle exec rake release:check`。
|
|
253
|
-
3. 提交并推送本次版本的源码与锁文件。
|
|
254
|
-
4. 使用自己的 RubyGems 账号发布:
|
|
255
|
-
|
|
256
|
-
```sh
|
|
257
|
-
gem signin --host https://rubygems.org
|
|
258
|
-
bundle exec rake release
|
|
259
|
-
# 等价于 bundle exec ruby script/release.rb --push
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
凭据由 RubyGems 管理;自动化环境可通过密钥管理服务注入 `GEM_HOST_API_KEY`,密钥需有 `push_rubygem` 权限。gemspec 声明 `rubygems_mfa_required: true`,发布者需在 RubyGems 账号启用 MFA;需要验证时由 `gem push` 处理交互。不要把密钥放进仓库或发布脚本。详见 [RubyGems 发布指南](https://guides.rubygems.org/publishing/)和 [API key scopes](https://guides.rubygems.org/api-key-scopes/)。
|
|
263
|
-
|
|
264
|
-
正式发布复用 `rake verify` 的完整检查:执行测试、RuboCop 和构建,再将 gem 复制到独立临时目录,由 `script/verify_package.rb` 验证安装后的库、CLI 和文件内容。候选包在验证前后必须保持同一 SHA256,HEAD 和工作区也必须保持不变,随后上传该候选包到 `https://rubygems.org`,读取版本元数据核对 SHA256。输出包含源码提交号和包校验值;相同版本、相同校验值已发布时直接成功,相同版本内容不同时拒绝覆盖。构建使用提交时间作为 `SOURCE_DATE_EPOCH`,便于同一提交重复构建。
|
|
265
|
-
|
|
266
|
-
上传后只重试查询,不自动重复上传。若提示结果未确认,先检查 RubyGems 上该版本及其校验值。脚本不创建或推送 Git 提交和标签;RubyGems 核对成功后,可按已发布版本标记源码,例如:
|
|
267
|
-
|
|
268
|
-
```sh
|
|
269
|
-
git tag -a v0.2.1 -m "Release v0.2.1"
|
|
270
|
-
git push origin v0.2.1
|
|
271
|
-
```
|
|
245
|
+
本地预检可执行 `bundle exec ruby script/release.rb --dry-run --artifact pkg/textfsm-0.2.2.gem`;
|
|
246
|
+
已有产物路径不会重新构建。更新版本及 CHANGELOG、提交并确认远端 CI 后推送对应版本标签。
|
|
272
247
|
|
|
273
248
|
## 兼容范围与验证
|
|
274
249
|
|
data/lib/textfsm/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: textfsm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- TextFSM Ruby contributors
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: json
|
|
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
117
117
|
- !ruby/object:Gem::Version
|
|
118
118
|
version: '0'
|
|
119
119
|
requirements: []
|
|
120
|
-
rubygems_version: 4.0.
|
|
120
|
+
rubygems_version: 4.0.20
|
|
121
121
|
specification_version: 4
|
|
122
122
|
summary: A Ruby state machine for parsing text with TextFSM templates
|
|
123
123
|
test_files: []
|