Read about our upcoming Code of Conduct on this issue

Commit 982d22ac authored by Filipa Lacerda's avatar Filipa Lacerda Committed by Mayra Cabrera
Browse files

Creates Feature Flag for job log

Updates frontend code and specs to allow for the new
feature flag
parent ce71e285a4c1
......@@ -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 @@ def show
# 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 @@ def trace
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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