factory_seeder 0.1.0 → 0.1.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: 515d25311b8a818c9f74754ae339a5c359123a4052801c319a21d71953f23428
4
- data.tar.gz: 04e02636e4d566d7f27000063584723a3ddc14d438027802e6b2255e3782e9a9
3
+ metadata.gz: 3944ca0327f0869ffa6e59f470d42b94da093268998ee3c29a0e3cdb22dbab63
4
+ data.tar.gz: e802e0799b1ef2dcc2413941ec2fa3707cb75150236db3144c14af931738c868
5
5
  SHA512:
6
- metadata.gz: 14d2b7088c42b05be4742efc07933e942c104237aef374d523be4efcf7a4588685eb578f88e8adc94a6920952f990832b0b12a09b304c08dc2dda44b3226491a
7
- data.tar.gz: 2e4c6314258c616ea4019deec5d66449ee0516b0cb8b1b267f286c56e64b39cdeb8964ae8ff57d7d7b5049d165bcd2f411a2cda9fab14354ea929bef21ac97f9
6
+ metadata.gz: f8ecbec5535769d4f6091f968b6f5aac898aec29dbb9f9ae4167f5d700636e4879198db6a466d2501475d41e844a3ebcb697234031871016bf6b778a7a1dba19
7
+ data.tar.gz: 359a8dbfddad496d884613596dd48db9b9659728517ee3a1e75bdf229f413bf8d704ead850d0146b56393f9848a6798aea21381c8e5a9066545df1db13e4df61
data/README.md CHANGED
@@ -375,7 +375,7 @@ end
375
375
  ### Setup
376
376
 
377
377
  ```bash
378
- git clone https://github.com/factoryseeder/factory_seeder.git
378
+ git clone https://github.com/wecasa/factory_seeder.git
379
379
  cd factory_seeder
380
380
  bundle install
381
381
  ```
@@ -393,6 +393,50 @@ gem build factory_seeder.gemspec
393
393
  gem install factory_seeder-0.1.0.gem
394
394
  ```
395
395
 
396
+ ## Release Process
397
+
398
+ The gem is published to [RubyGems](https://rubygems.org/gems/factory_seeder) automatically from CI using [Trusted Publishing (OIDC)](https://guides.rubygems.org/trusted-publishing/). No API key is stored in the repo.
399
+
400
+ ### How it works
401
+
402
+ - `main` is protected: every change lands via a pull request approved by a Wecasa engineer.
403
+ - The release workflow (`.github/workflows/release.yml`) runs on every merge to `main`.
404
+ - If `lib/factory_seeder/version.rb` has been bumped (i.e. no git tag matches the current version yet), the workflow:
405
+ 1. Runs the specs.
406
+ 2. Tags the merge commit `vX.Y.Z`.
407
+ 3. Builds the gem and pushes it to RubyGems via OIDC.
408
+ 4. Creates a GitHub Release with auto-generated notes and attaches the `.gem` file.
409
+ - If the version on `main` already has a tag, the workflow is a no-op.
410
+
411
+ ### How to ship a new version
412
+
413
+ 1. Open a PR from a feature branch.
414
+ 2. In the same PR, bump `lib/factory_seeder/version.rb` following [semver](https://semver.org/):
415
+ - patch (`0.1.0` -> `0.1.1`) - bug fix, no API change
416
+ - minor (`0.1.0` -> `0.2.0`) - new feature, backward compatible
417
+ - major (`0.1.0` -> `1.0.0`) - breaking change
418
+ 3. Add a corresponding entry at the top of `CHANGELOG.md`.
419
+ 4. Get the PR approved by a Wecasa engineer (branch protection enforces this).
420
+ 5. Merge. The release workflow tags the commit and publishes the gem within a minute or two.
421
+
422
+ ### Ship without releasing
423
+
424
+ If your PR does not change the public API (docs, internal refactor, CI tweak), leave `version.rb` untouched. The workflow will detect that the version already has a tag and skip the release step. No manual step needed.
425
+
426
+ ### Gem ownership
427
+
428
+ The gem is owned by the `devops@wecasa.fr` RubyGems service account (MFA enabled). Human maintainers are added as co-owners via:
429
+
430
+ ```bash
431
+ gem owner factory_seeder -a <email>
432
+ ```
433
+
434
+ Trusted Publishing is configured at https://rubygems.org/profile/oidc/pending_trusted_publishers (or the gem page once a version is published) with:
435
+
436
+ - Repository: `wecasa/factory_seeder`
437
+ - Workflow filename: `release.yml`
438
+ - Environment: (empty)
439
+
396
440
  ## Architecture
397
441
 
398
442
  ### Core Components
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FactorySeeder
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_seeder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wecasa
@@ -262,7 +262,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
262
  requirements:
263
263
  - - ">="
264
264
  - !ruby/object:Gem::Version
265
- version: 2.7.0
265
+ version: 3.2.0
266
266
  required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  requirements:
268
268
  - - ">="