Skip to content
Snippets Groups Projects
Commit 288e709c 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 e5398754
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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';
Loading
Loading
@@ -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,
Loading
Loading
<script>
export default {
name: 'JobLogJSON',
};
</script>
<template>
<pre>
{{ __('This feature is in development. Please disable the `job_log_json` feature flag') }}
</pre>
</template>
Loading
Loading
@@ -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'
 
Loading
Loading
@@ -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
Loading
Loading
@@ -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?
 
Loading
Loading
Loading
Loading
@@ -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 ""
 
Loading
Loading
Loading
Loading
@@ -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
 
Loading
Loading
Loading
Loading
@@ -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
 
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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? }
Loading
Loading
Loading
Loading
@@ -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? }
Loading
Loading
Loading
Loading
@@ -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? }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment