captive-release 0.6.0 → 0.7.0
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 51e98c43b123462f3166f453ca8623c9b748fff59c11259840ea5c5e13ead96b
|
|
4
|
+
data.tar.gz: db1e3f7f2e542786774b8eb72f4501196cccfe5b971a4d4c29a9f3ce6cf9f243
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 396e2ba7f46def9bde2aeba4afdcfefe91e9a0ba4d028e29f5f0881e5c3c4f32dfe3c753a3cd493b78fa80c1e81283ceea9ec2b593a2ffe8ecce7b593a08195f
|
|
7
|
+
data.tar.gz: da82b40b4abb5f32649022dcf1f54b13c769a5ae046f097768b54b422588fae14154ddbe1b260f676a65c2d8e438efd73cc13e1c4dcbd0def640503c6abdff29
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CaptiveRelease
|
|
4
|
+
# Remet Gemfile.lock d'aplomb après un bump : un .gemspec à la racine porte la version
|
|
5
|
+
# bumpée, donc Gemfile.lock devient périmé et --deployment le refuse en CI si personne ne
|
|
6
|
+
# le relance.
|
|
7
|
+
#
|
|
8
|
+
# Cette unité change quand la façon de détecter ou de relancer le lock change,
|
|
9
|
+
# ReleaseCommand quand la suite des étapes change.
|
|
10
|
+
class GemfileLockRefresh
|
|
11
|
+
LOCKFILE = "Gemfile.lock"
|
|
12
|
+
|
|
13
|
+
def initialize(files: RepoFiles.new("."))
|
|
14
|
+
@files = files
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# rescue : une arborescence hostile ne doit jamais faire échouer la release, la détection
|
|
18
|
+
# n'est qu'une commodité. Une fois vraie, l'exécution du bundle lock, elle, échoue haut
|
|
19
|
+
# la main si elle rate.
|
|
20
|
+
def needed?
|
|
21
|
+
File.exist?(@files.path(LOCKFILE)) && @files.glob("*.gemspec").any?
|
|
22
|
+
rescue StandardError
|
|
23
|
+
false
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def call
|
|
27
|
+
Shell.run! "bundle lock"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -28,13 +28,24 @@ module CaptiveRelease
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
VersionFilesWriting.new(terminal: @terminal).call(prochaine, @config.version_files)
|
|
31
|
-
GitRelease.new(terminal: @terminal).call(prochaine,
|
|
31
|
+
GitRelease.new(terminal: @terminal).call(prochaine, chemins_a_commiter)
|
|
32
32
|
publication.call(prochaine)
|
|
33
33
|
@terminal.say "\n🎉 #{@terminal.bold("Version v#{prochaine} released successfully!")}\n"
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
private
|
|
37
37
|
|
|
38
|
+
def chemins_a_commiter
|
|
39
|
+
chemins = @config.version_files.map(&:path)
|
|
40
|
+
return chemins unless (refresh = GemfileLockRefresh.new).needed?
|
|
41
|
+
|
|
42
|
+
@terminal.say "\n#{@terminal.bold("Refreshing Gemfile.lock...")}"
|
|
43
|
+
refresh.call
|
|
44
|
+
@terminal.done GemfileLockRefresh::LOCKFILE
|
|
45
|
+
|
|
46
|
+
chemins + [ GemfileLockRefresh::LOCKFILE ]
|
|
47
|
+
end
|
|
48
|
+
|
|
38
49
|
def afficher_changements(courante)
|
|
39
50
|
lien = ChangesSince.url(courante)
|
|
40
51
|
return unless lien
|
data/lib/captive_release.rb
CHANGED
|
@@ -36,6 +36,7 @@ require_relative "captive_release/build_dispatch_run"
|
|
|
36
36
|
require_relative "captive_release/build_command"
|
|
37
37
|
require_relative "captive_release/menu"
|
|
38
38
|
require_relative "captive_release/version_choice"
|
|
39
|
+
require_relative "captive_release/gemfile_lock_refresh"
|
|
39
40
|
require_relative "captive_release/git_release"
|
|
40
41
|
require_relative "captive_release/changes_since"
|
|
41
42
|
require_relative "captive_release/release_publication"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: captive-release
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Captive Studio
|
|
@@ -34,6 +34,7 @@ files:
|
|
|
34
34
|
- lib/captive_release/config_loader.rb
|
|
35
35
|
- lib/captive_release/config_writer.rb
|
|
36
36
|
- lib/captive_release/framework_detector.rb
|
|
37
|
+
- lib/captive_release/gemfile_lock_refresh.rb
|
|
37
38
|
- lib/captive_release/git_commands.rb
|
|
38
39
|
- lib/captive_release/git_release.rb
|
|
39
40
|
- lib/captive_release/github_api.rb
|