deployangel 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 +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +4 -3
- data/lib/deployangel/cli/formatter.rb +3 -0
- data/lib/deployangel/rails/metadata.rb +12 -1
- data/lib/deployangel/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: f2cfd7db0190a370bcb7e464ee8f43edf3674b46035db0c18836826f489bd760
|
|
4
|
+
data.tar.gz: 061c91c247bd1633fa5ab5b36c04b89f3e5fb74d8217c5cca66401d101c5332d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c07d0699f4927f133484e6521894da8abb59e1f26b5271e3d21ca8b820fd39093a66036887c17a65079a326d487247c2fbd95dc7d7fb92d98185487814fb027f
|
|
7
|
+
data.tar.gz: 47c69848596e777ff7555a6c9ee9f5b12e38c4186fdb70bf48d9c8b25ff143c0c8a6abb2070a8e9b696fea0583697c148d91260f6426e73a79defe725bf2ca50
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.1 (2026-10-02)
|
|
4
|
+
|
|
5
|
+
- Declared Solid Queue schedules carry the time zone Solid Queue reads them
|
|
6
|
+
in (`SolidQueue.time_zone`, which defaults to `config.time_zone`), so
|
|
7
|
+
DeployAngel expects a job scheduled "at 4am every day" at the right hour.
|
|
8
|
+
Without it, a release could fail for a recurring job that wasn't due yet
|
|
9
|
+
when the app's time zone in the dashboard differed from the app's own.
|
|
10
|
+
- `deployangel verify` prints a missing recurring job as "didn't run" and
|
|
11
|
+
when it was expected, instead of its interval as a percentage.
|
|
12
|
+
- The README describes registering deploys on every host before the Heroku
|
|
13
|
+
add-on.
|
|
14
|
+
|
|
3
15
|
## 0.1.0 (2026-10-01)
|
|
4
16
|
|
|
5
17
|
- Release identity on Kamal (`KAMAL_VERSION`), Render (`RENDER_GIT_COMMIT`),
|
data/README.md
CHANGED
|
@@ -130,9 +130,10 @@ including IDs, since only 100 distinct names are counted per minute.
|
|
|
130
130
|
|
|
131
131
|
## Registering deploys
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
DeployAngel notices a new release when the agent first reports it, and
|
|
134
|
+
verifies it from there, with nothing to set up. The releases running when you
|
|
135
|
+
install the agent are the baseline. On Heroku, the add-on also registers every
|
|
136
|
+
release for you.
|
|
136
137
|
|
|
137
138
|
Registering deploys yourself adds a link to the CI run and a label of your
|
|
138
139
|
choice, and starts verification as soon as the deploy finishes. Use an API
|
|
@@ -70,6 +70,9 @@ module DeployAngel
|
|
|
70
70
|
label = "#{LABELS.fetch(finding["signal"], finding["signal"])} on #{finding["scope"]}"
|
|
71
71
|
if COUNTS.include?(finding["signal"])
|
|
72
72
|
"#{label}: #{finding["observed_value"].to_i} occurrences"
|
|
73
|
+
elsif finding["signal"] == "missing_recurring_job"
|
|
74
|
+
# Its value is the job's interval in seconds, not a rate.
|
|
75
|
+
"#{label}: #{finding["status"] == "pass" ? "ran" : "didn't run"}, #{finding["threshold"]}"
|
|
73
76
|
elsif finding["baseline_value"].nil? && finding["observed_value"].nil?
|
|
74
77
|
"#{label}: #{finding["threshold"]}"
|
|
75
78
|
else
|
|
@@ -68,12 +68,23 @@ module DeployAngel
|
|
|
68
68
|
Array(tasks).filter_map do |key, task|
|
|
69
69
|
next unless task.is_a?(Hash) && task["schedule"]
|
|
70
70
|
|
|
71
|
-
{ "key" => key.to_s, "class" => task["class"]&.to_s, "schedule" => task["schedule"].to_s, "source" => "solid_queue"
|
|
71
|
+
{ "key" => key.to_s, "class" => task["class"]&.to_s, "schedule" => task["schedule"].to_s, "source" => "solid_queue",
|
|
72
|
+
"time_zone" => scheduler_time_zone }
|
|
72
73
|
end
|
|
73
74
|
rescue StandardError
|
|
74
75
|
[]
|
|
75
76
|
end
|
|
76
77
|
|
|
78
|
+
# The zone Solid Queue reads a schedule in when the schedule names
|
|
79
|
+
# none: its own setting, config.time_zone by default. nil when that's
|
|
80
|
+
# the system's local time or Solid Queue predates the setting, and
|
|
81
|
+
# DeployAngel then doesn't assume one.
|
|
82
|
+
def scheduler_time_zone
|
|
83
|
+
::SolidQueue.time_zone if defined?(::SolidQueue) && ::SolidQueue.respond_to?(:time_zone)
|
|
84
|
+
rescue StandardError
|
|
85
|
+
nil
|
|
86
|
+
end
|
|
87
|
+
|
|
77
88
|
def file_manifest
|
|
78
89
|
@file_manifest ||= begin
|
|
79
90
|
if @config.file_digests
|
data/lib/deployangel/version.rb
CHANGED