fhirpath-rb 0.1.3 → 0.1.5

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: c5e8a1954236a95c3a9ff94437cd95ee7d6e10c46596672c587ff0ff60077c3a
4
- data.tar.gz: 5701a0568125de1f5e2984a03249d889843555dbf064afcf6d51b00e586d8b5d
3
+ metadata.gz: b7007532f7d9366bec18526de62ab2f5d60fb5a42883053eb51885f47c70faff
4
+ data.tar.gz: 7c52632221c5ae189d621063ee28b450629f740bd12fe392d189955446e64069
5
5
  SHA512:
6
- metadata.gz: 8b31e1cab6ae5fe9dcec41d8f4be8d4db7a8813de1a2d2edfeb4950f0df76399742e7498ab0783cc5d4ca6fa58bf2e9e3ed54e8a06224b17df2ccb71a42b6ba2
7
- data.tar.gz: 2ab32eaeeaaf4615a671475706bf6c473257790b2bf4f07e8c467cdbca0ae13fab28a1109f77e8eb4f5b070392243d66db8709fe63bef7b87939db1b957ad391
6
+ metadata.gz: faf8e60216664a0f8a6e2856f3a1eefb0c77c9cfc96ac5ac2b7013485bd15315627f0cab97574462f18de05570a4c4010777712e697bb43686578849324e38d2
7
+ data.tar.gz: f2e275ae41f92b103b1762b90efe7e6d167329534388f6f3dc57a606a114f6bd58350ee8cab973cd2fdf09d93c1851d581d5ba79bc0be4507c461bca51aeefa9
data/.rubocop.yml CHANGED
@@ -1,5 +1,9 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 3.0
3
+ # Standalone app with its own Gemfile/CI/.rubocop.yml (server/.rubocop.yml) - not part of this
4
+ # gem's bundle or lint run.
5
+ Exclude:
6
+ - "server/**/*"
3
7
 
4
8
  Style/StringLiterals:
5
9
  EnforcedStyle: double_quotes
data/CLAUDE.md CHANGED
@@ -57,3 +57,55 @@ miss otherwise.
57
57
  (the default Rake task) and must stay clean.
58
58
  - No implementation code should be added speculatively — this file describes the target shape
59
59
  so future work has a map, not a request to build it all now.
60
+
61
+ ## Release process ("bump")
62
+
63
+ The maintainer typing **"bump"** (or "bump X.Y.Z") to Claude is standing, in-the-moment
64
+ authorization for the full state-changing sequence below — commit, push, tag, push tag, and
65
+ GitHub release — for that one release only. No separate confirmation is needed per step; run
66
+ the whole sequence end-to-end without pausing to ask "should I push now?" etc.
67
+
68
+ **Version to release:**
69
+ - Plain **"bump"** → increment the patch version (Z in X.Y.Z) of whatever's currently in
70
+ `lib/fhirpath/version.rb`.
71
+ - **"bump X.Y.Z"** (an explicit version, e.g. for a minor/major bump like `0.2.0`) → set the
72
+ version to exactly that string instead of incrementing.
73
+
74
+ **Steps, in order:**
75
+ 1. `git status` — working tree must be clean and up to date with `origin/main` before starting.
76
+ If it isn't (uncommitted changes, unrelated local commits), stop and ask rather than
77
+ assuming they should be swept into the release.
78
+ 2. Edit `lib/fhirpath/version.rb` to the new version.
79
+ 3. Run `bundle exec rake` (specs + RuboCop) and confirm it's green. If parser sources aren't
80
+ already built, run `bundle exec rake parser:setup compile` first (see rakelib/parser.rake).
81
+ 4. **Mandatory packaging sanity check** — this is the step that was skipped before 0.1.1/0.1.2
82
+ shipped a broken native extension (the gemspec's generated-files glob had silently gone
83
+ missing and nothing caught it until a user hit a `LoadError` in production):
84
+ - `gem build fhirpath-rb.gemspec`
85
+ - Install the built `.gem` into a throwaway isolated `GEM_HOME` (e.g. under a scratch dir),
86
+ with `env -u BUNDLE_GEMFILE -u RUBYOPT` to avoid this repo's own bundler env leaking in,
87
+ and with `GEM_PATH` pointing at a location that already has `rice`/`fhir_models` installed
88
+ (or allow network) so dependencies resolve.
89
+ - From that isolated `GEM_HOME`, `require "fhirpath"` and call `Fhirpath.evaluate` on a
90
+ trivial resource. Confirm the native extension (`fhir_path_parser.bundle`/`.so`) actually
91
+ got compiled into that GEM_HOME's `extensions/` dir and the require succeeds.
92
+ - Clean up the scratch gem/dirs afterward. If this check fails, stop — do not tag or release
93
+ a broken build; fix the gemspec/extension setup first.
94
+ 5. `git add lib/fhirpath/version.rb` (plus any other files that were part of this bump, e.g. a
95
+ packaging fix) and commit as `Bump X.Y.Z`, with whatever commit attribution footer is
96
+ currently in effect for the session.
97
+ 6. `git push origin main`.
98
+ 7. `git tag -a vX.Y.Z -m "Version X.Y.Z"` and `git push origin vX.Y.Z`.
99
+ 8. `gh release create vX.Y.Z --title "vX.Y.Z" --generate-notes` — this triggers
100
+ `.github/workflows/release.yml`, which publishes to rubygems.org via Trusted Publishing.
101
+ 9. `gh run watch <run-id> --exit-status` (find the run with `gh run list --workflow=release.yml
102
+ --limit 1`) and confirm it completes successfully.
103
+ 10. Final live-artifact check: in a scratch dir, `gem install fhirpath-rb -v X.Y.Z` from
104
+ rubygems.org (not the local build) and `require "fhirpath"` to confirm what's actually
105
+ published works, not just what was built locally.
106
+ 11. Report back: new version, release URL, and confirmation that the published gem loads.
107
+
108
+ If step 4 or 10 fails, the release is broken in the same way 0.1.1/0.1.2 were — do not consider
109
+ the release done, and do not stop at "gem pushed successfully" as the definition of success.
110
+ `gem push` succeeding only means RubyGems accepted the upload; it says nothing about whether
111
+ the native extension actually compiles for an installer.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fhirpath
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fhirpath-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - beda.software