Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a923b25

Browse files
Fix/no commit hash on the deployed project (#611)
* define GIT_COMMIT_SHA in Dockerfile * check for GIT_COMMIT_SHA environment variable presence in GitDCommitSha.current_sha * add a new context to test if GIT_COMMIT_SHA exists
1 parent 80899b3 commit a923b25

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

‎.controlplane/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,7 @@ ENTRYPOINT ["./.controlplane/entrypoint.sh"]
7676
# Default args to pass to the entry point that can be overridden
7777
# For Kubernetes and ControlPlane, these are the "workload args"
7878
CMD ["./bin/rails", "server"]
79+
80+
# Current commit hash environment variable
81+
ARG GIT_COMMIT_SHA
82+
ENV GIT_COMMIT_SHA=${GIT_COMMIT_SHA}

‎app/models/git_commit_sha.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ class GitCommitSha
55
attr_writer :current_sha
66

77
def self.current_sha
8-
@current_sha ||= retrieve_sha_from_file.presence || retrieve_sha_from_git
8+
@current_sha ||= ENV["GIT_COMMIT_SHA"].presence ||
9+
retrieve_sha_from_file.presence ||
10+
retrieve_sha_from_git
911
end
1012

1113
def self.reset_current_sha

‎spec/system/pages_spec.rb

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@
1717
GitCommitSha.reset_current_sha
1818
end
1919

20-
context "when .source_version file does not exist" do
21-
let(:sha) { "94d92356828a56db25fccff9d50f41c525eead5x" }
20+
context "when GIT_COMMIT_SHA env var exists" do
21+
let(:sha) { "94d92356828a56db25fccff9d50f41c525eead5z" }
2222
let(:expected_text) { "94d9235" }
2323

2424
before do
25-
# stub this method since we need to control what the sha actually is
26-
allow(GitCommitSha).to receive(:retrieve_sha_from_git) { sha }
25+
ENV["GIT_COMMIT_SHA"] = sha
26+
end
27+
28+
after do
29+
ENV.delete("GIT_COMMIT_SHA")
2730
end
2831

2932
it_behaves_like "Git Commit SHA"
@@ -39,4 +42,16 @@
3942

4043
it_behaves_like "Git Commit SHA"
4144
end
45+
46+
context "when falling back to git command" do
47+
let(:sha) { "94d92356828a56db25fccff9d50f41c525eead5x" }
48+
let(:expected_text) { "94d9235" }
49+
50+
before do
51+
# stub this method since we need to control what the sha actually is
52+
allow(GitCommitSha).to receive(:retrieve_sha_from_git) { sha }
53+
end
54+
55+
it_behaves_like "Git Commit SHA"
56+
end
4257
end

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /