[ARVADOS] created: 1.1.4-564-g6dd60d7c7
Git user
git at public.curoverse.com
Mon Jul 9 17:03:15 EDT 2018
at 6dd60d7c70a63ac884515387cd8c92bb97433e1b (commit)
commit 6dd60d7c70a63ac884515387cd8c92bb97433e1b
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date: Mon Jul 9 18:01:19 2018 -0300
13668: Adds package version to workbench. Reports versions on dialog.
API & Workbench package versions are displayed on the 'Show version' &
'Report problem' dialogs.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>
diff --git a/apps/workbench/app/helpers/version_helper.rb b/apps/workbench/app/helpers/version_helper.rb
index 915c3a9d3..c372adbe1 100644
--- a/apps/workbench/app/helpers/version_helper.rb
+++ b/apps/workbench/app/helpers/version_helper.rb
@@ -9,6 +9,12 @@ module VersionHelper
arvados_api_client.discovery[:source_version]
end
+ # Get the package_version given in the API server's discovery
+ # document.
+ def api_package_version
+ arvados_api_client.discovery[:package_version]
+ end
+
# URL for browsing source code for the given version.
def version_link_target version
"https://arvados.org/projects/arvados/repository/changes?rev=#{version.sub(/-.*/, "")}"
diff --git a/apps/workbench/app/views/application/_report_issue_popup.html.erb b/apps/workbench/app/views/application/_report_issue_popup.html.erb
index 86d550a33..8823fdd5f 100644
--- a/apps/workbench/app/views/application/_report_issue_popup.html.erb
+++ b/apps/workbench/app/views/application/_report_issue_popup.html.erb
@@ -14,8 +14,10 @@ SPDX-License-Identifier: AGPL-3.0 %>
additional_info_str = additional_info.map {|k,v| "#{k}=#{v}"}.join("\n")
additional_info['api_source_version'] = api_source_version
+ additional_info['api_package_version'] = api_package_version
additional_info['generated_at'] = generated_at
additional_info['workbench_version'] = AppVersion.hash
+ additional_info['workbench_package_version'] = AppVersion.package_version
additional_info['arvados_base'] = arvados_base
additional_info['support_email'] = support_email
additional_info['error_message'] = params[:error_message] if params[:error_message]
@@ -73,7 +75,7 @@ SPDX-License-Identifier: AGPL-3.0 %>
<label for="wb_version" class="col-sm-4 control-label"> Workbench version </label>
<div class="col-sm-8">
<p class="form-control-static" name="wb_version">
- <%= link_to AppVersion.hash, version_link_target(AppVersion.hash) %>
+ <%= AppVersion.package_version %> (<%= link_to AppVersion.hash, version_link_target(AppVersion.hash) %>)
</p>
</div>
</div>
@@ -82,7 +84,7 @@ SPDX-License-Identifier: AGPL-3.0 %>
<label for="server_version" class="col-sm-4 control-label"> API version </label>
<div class="col-sm-8">
<p class="form-control-static" name="server_version">
- <%= link_to api_source_version, version_link_target(api_source_version) %>
+ <%= api_package_version %> (<%= link_to api_source_version, version_link_target(api_source_version) %>)
</p>
</div>
</div>
diff --git a/apps/workbench/config/application.default.yml b/apps/workbench/config/application.default.yml
index d5f46feab..e4ec41312 100644
--- a/apps/workbench/config/application.default.yml
+++ b/apps/workbench/config/application.default.yml
@@ -201,6 +201,11 @@ common:
# "git log".
source_version: false
+ # Override the automatic package string. With the default value of
+ # false, the package string is read from package-build.version in
+ # Rails.root (included in vendor packages).
+ package_version: false
+
# report notification to and from addresses
issue_reporter_email_from: arvados at example.com
issue_reporter_email_to: arvados at example.com
diff --git a/apps/workbench/lib/app_version.rb b/apps/workbench/lib/app_version.rb
index cc4b4dee1..303d853ec 100644
--- a/apps/workbench/lib/app_version.rb
+++ b/apps/workbench/lib/app_version.rb
@@ -15,6 +15,7 @@ class AppVersion
def self.forget
@hash = nil
+ @package_version = nil
end
# Return abbrev commit hash for current code version: "abc1234", or
@@ -54,4 +55,17 @@ class AppVersion
@hash || "unknown"
end
+
+ def self.package_version
+ if (cached = Rails.configuration.package_version || @package_version)
+ return cached
+ end
+
+ begin
+ @package_version = IO.read(Rails.root.join("package-build.version")).strip
+ rescue Errno::ENOENT
+ end
+
+ @package_version || "unknown"
+ end
end
commit 710399e0355ff8ed016a9d3c830730af2e228ad5
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date: Mon Jul 9 17:24:56 2018 -0300
13668: Adds support for package version on API server.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>
diff --git a/services/api/app/controllers/arvados/v1/schema_controller.rb b/services/api/app/controllers/arvados/v1/schema_controller.rb
index adac9960c..8f6e2be72 100644
--- a/services/api/app/controllers/arvados/v1/schema_controller.rb
+++ b/services/api/app/controllers/arvados/v1/schema_controller.rb
@@ -33,6 +33,7 @@ class Arvados::V1::SchemaController < ApplicationController
version: "v1",
revision: "20131114",
source_version: AppVersion.hash,
+ package_version: AppVersion.package_version,
generatedAt: db_current_time.iso8601,
title: "Arvados API",
description: "The API to interact with Arvados.",
diff --git a/services/api/config/application.default.yml b/services/api/config/application.default.yml
index 5406e8d95..f976a83ca 100644
--- a/services/api/config/application.default.yml
+++ b/services/api/config/application.default.yml
@@ -466,6 +466,11 @@ common:
# "git log".
source_version: false
+ # Override the automatic package version string. With the default version of
+ # false, the package version is read from package-build.version in Rails.root
+ # (included in vendor packages).
+ package_version: false
+
# Enable asynchronous permission graph rebuild. Must run
# script/permission-updater.rb as a separate process. When the permission
# cache is invalidated, the background process will update the permission
diff --git a/services/api/lib/app_version.rb b/services/api/lib/app_version.rb
index abcf40ee3..6dcdafb50 100644
--- a/services/api/lib/app_version.rb
+++ b/services/api/lib/app_version.rb
@@ -15,6 +15,7 @@ class AppVersion
def self.forget
@hash = nil
+ @package_version = nil
end
# Return abbrev commit hash for current code version: "abc1234", or
@@ -53,4 +54,17 @@ class AppVersion
@hash || "unknown"
end
+
+ def self.package_version
+ if (cached = Rails.configuration.package_version || @package_version)
+ return cached
+ end
+
+ begin
+ @package_version = IO.read(Rails.root.join("package-build.version")).strip
+ rescue Errno::ENOENT
+ end
+
+ @package_version || "unknown"
+ end
end
diff --git a/services/api/test/functional/arvados/v1/schema_controller_test.rb b/services/api/test/functional/arvados/v1/schema_controller_test.rb
index c15060d1a..067e7b2bb 100644
--- a/services/api/test/functional/arvados/v1/schema_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/schema_controller_test.rb
@@ -31,6 +31,7 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase
assert_includes discovery_doc, 'defaultTrashLifetime'
assert_equal discovery_doc['defaultTrashLifetime'], Rails.application.config.default_trash_lifetime
assert_match(/^[0-9a-f]+(-modified)?$/, discovery_doc['source_version'])
+ assert_match(/^unknown$/, discovery_doc['package_version'])
assert_equal discovery_doc['websocketUrl'], Rails.application.config.websocket_address
assert_equal discovery_doc['workbenchUrl'], Rails.application.config.workbench_address
assert_equal('zzzzz', discovery_doc['uuidPrefix'])
@@ -44,6 +45,14 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase
assert_equal 'aaa888fff', discovery_doc['source_version']
end
+ test "discovery document overrides package_version with config" do
+ Rails.configuration.package_version = '1.0.0-stable'
+ get :index
+ assert_response :success
+ discovery_doc = JSON.parse(@response.body)
+ assert_equal '1.0.0-stable', discovery_doc['package_version']
+ end
+
test "empty disable_api_methods" do
get :index
assert_response :success
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list