Merge branch '28019-make-builds-show-faster' into 'master'
Performance improvement on Projects::BuildsController#show.html Closes #28019 See merge request !9149
This commit is contained in:
commit
56814482d6
4 changed files with 7 additions and 10 deletions
|
@ -12,7 +12,7 @@ module BuildsHelper
|
|||
build_url: namespace_project_build_url(@project.namespace, @project, @build, :json),
|
||||
build_status: @build.status,
|
||||
build_stage: @build.stage,
|
||||
log_state: @build.trace_with_state[:state].to_s
|
||||
log_state: ''
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
- @no_container = true
|
||||
- page_title "#{@build.name} (##{@build.id})", "Jobs"
|
||||
- trace_with_state = @build.trace_with_state
|
||||
= render "projects/pipelines/head", build_subnav: true
|
||||
|
||||
%div{ class: container_class }
|
||||
|
|
4
changelogs/unreleased/28019-make-builds-show-faster.yml
Normal file
4
changelogs/unreleased/28019-make-builds-show-faster.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Avoid calling Build#trace_with_state for performance
|
||||
merge_request: 9149
|
||||
author: Takuya Noguchi
|
|
@ -9,12 +9,6 @@ require('vendor/jquery.nicescroll');
|
|||
|
||||
describe('Build', () => {
|
||||
const BUILD_URL = `${gl.TEST_HOST}/frontend-fixtures/builds-project/builds/1`;
|
||||
// see spec/factories/ci/builds.rb
|
||||
const BUILD_TRACE = 'BUILD TRACE';
|
||||
// see lib/ci/ansi2html.rb
|
||||
const INITIAL_BUILD_TRACE_STATE = window.btoa(JSON.stringify({
|
||||
offset: BUILD_TRACE.length, n_open_tags: 0, fg_color: null, bg_color: null, style_mask: 0,
|
||||
}));
|
||||
|
||||
preloadFixtures('builds/build-with-artifacts.html.raw');
|
||||
|
||||
|
@ -42,7 +36,7 @@ describe('Build', () => {
|
|||
expect(this.build.buildUrl).toBe(`${BUILD_URL}.json`);
|
||||
expect(this.build.buildStatus).toBe('success');
|
||||
expect(this.build.buildStage).toBe('test');
|
||||
expect(this.build.state).toBe(INITIAL_BUILD_TRACE_STATE);
|
||||
expect(this.build.state).toBe('');
|
||||
});
|
||||
|
||||
it('only shows the jobs matching the current stage', () => {
|
||||
|
@ -108,7 +102,7 @@ describe('Build', () => {
|
|||
expect($.ajax.calls.count()).toBe(2);
|
||||
let [{ url, dataType, success, context }] = $.ajax.calls.argsFor(1);
|
||||
expect(url).toBe(
|
||||
`${BUILD_URL}/trace.json?state=${encodeURIComponent(INITIAL_BUILD_TRACE_STATE)}`,
|
||||
`${BUILD_URL}/trace.json?state=`,
|
||||
);
|
||||
expect(dataType).toBe('json');
|
||||
expect(success).toEqual(jasmine.any(Function));
|
||||
|
|
Loading…
Reference in a new issue