Commit 1495a84c authored by Mayra Cabrera's avatar Mayra Cabrera

Merge branch '66454-create-feature-flag' into 'master'

Creates Feature Flag for job log

See merge request gitlab-org/gitlab-ce!32154
parents e5398754 288e709c
......@@ -12,7 +12,6 @@ import createStore from '../store';
import EmptyState from './empty_state.vue';
import EnvironmentsBlock from './environments_block.vue';
import ErasedBlock from './erased_block.vue';
import Log from './job_log.vue';
import LogTopBar from './job_log_controllers.vue';
import StuckBlock from './stuck_block.vue';
import UnmetPrerequisitesBlock from './unmet_prerequisites_block.vue';
......@@ -30,7 +29,10 @@ export default {
EnvironmentsBlock,
ErasedBlock,
Icon,
Log,
Log: () =>
gon && gon.features && gon.features.jobLogJson
? import('./job_log_json.vue')
: import('./job_log.vue'),
LogTopBar,
StuckBlock,
UnmetPrerequisitesBlock,
......
<script>
export default {
name: 'JobLogJSON',
};
</script>
<template>
<pre>
{{ __('This feature is in development. Please disable the `job_log_json` feature flag') }}
</pre>
</template>
......@@ -11,6 +11,9 @@ class Projects::JobsController < Projects::ApplicationController
before_action :authorize_erase_build!, only: [:erase]
before_action :authorize_use_build_terminal!, only: [:terminal, :terminal_websocket_authorize]
before_action :verify_api_request!, only: :terminal_websocket_authorize
before_action only: [:trace] do
push_frontend_feature_flag(:job_log_json)
end
layout 'project'
......@@ -64,6 +67,14 @@ class Projects::JobsController < Projects::ApplicationController
# rubocop: enable CodeReuse/ActiveRecord
def trace
if Feature.enabled?(:job_log_json, @project)
json_trace
else
html_trace
end
end
def html_trace
build.trace.read do |stream|
respond_to do |format|
format.json do
......@@ -84,6 +95,10 @@ class Projects::JobsController < Projects::ApplicationController
end
end
def json_trace
# will be implemented with https://gitlab.com/gitlab-org/gitlab-ce/issues/66454
end
def retry
return respond_422 unless @build.retryable?
......
......@@ -11760,6 +11760,9 @@ msgstr ""
msgid "This domain is not verified. You will need to verify ownership before access is enabled."
msgstr ""
msgid "This feature is in development. Please disable the `job_log_json` feature flag"
msgstr ""
msgid "This feature requires local storage to be enabled"
msgstr ""
......
......@@ -12,6 +12,7 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do
before do
stub_feature_flags(ci_enable_live_trace: true)
stub_feature_flags(job_log_json: false)
stub_not_protect_default_branch
end
......
......@@ -10,6 +10,8 @@ describe 'User browses a job', :js do
let!(:build) { create(:ci_build, :success, :trace_artifact, :coverage, pipeline: pipeline) }
before do
stub_feature_flags(job_log_json: false)
project.add_maintainer(user)
project.enable_ci
......
......@@ -20,6 +20,7 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
before do
project.add_role(user, user_access_level)
sign_in(user)
stub_feature_flags(job_log_json: false)
end
describe "GET /:project/jobs" do
......
......@@ -7,6 +7,10 @@ describe "Internal Project Access" do
set(:project) { create(:project, :internal, :repository) }
before do
stub_feature_flags(job_log_json: false)
end
describe "Project should be internal" do
describe '#internal?' do
subject { project.internal? }
......
......@@ -7,6 +7,10 @@ describe "Private Project Access" do
set(:project) { create(:project, :private, :repository, public_builds: false) }
before do
stub_feature_flags(job_log_json: false)
end
describe "Project should be private" do
describe '#private?' do
subject { project.private? }
......
......@@ -7,6 +7,10 @@ describe "Public Project Access" do
set(:project) { create(:project, :public, :repository) }
before do
stub_feature_flags(job_log_json: false)
end
describe "Project should be public" do
describe '#public?' do
subject { project.public? }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment