summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into mc-uiDouwe Maan2016-08-1513-76/+303
|\
| * Add small corrections to test coverage report badgeGrzegorz Bizon2016-08-151-2/+2
| |
| * Add metadata and template methods for coverage badgeGrzegorz Bizon2016-08-151-0/+8
| |
| * Extract base abstract template for badgesGrzegorz Bizon2016-08-153-35/+51
| |
| * Add template class for coverage report badgeGrzegorz Bizon2016-08-151-0/+69
| |
| * Extract the abstract base class of badge metadataGrzegorz Bizon2016-08-153-22/+42
| |
| * Add coverage report badge metadata classGrzegorz Bizon2016-08-151-0/+38
| |
| * Implement the main class of test coverage badgeGrzegorz Bizon2016-08-151-1/+30
| |
| * Refactor badge template and metadata classesGrzegorz Bizon2016-08-154-14/+19
| |
| * Move badges to separate modules and add base classGrzegorz Bizon2016-08-157-49/+74
| |
| * Add empty test coverage badge class and specsGrzegorz Bizon2016-08-151-0/+17
| |
| * Merge branch '20842-todos-queries-cache' into 'master' Yorick Peterse2016-08-151-5/+3
| |\ | | | | | | | | | | | | Try to get back todo's cache or at least avoid hitting the database See merge request !5789
| | * Recover usage of Todos counter cache20842-todos-queries-cachePaco Guzman2016-08-121-4/+2
| | | | | | | | | | | | | | | | | | | | | We’re being kept up to date the counter data but we’re not using it. The only thing which is not real if is the number of projects that the user read changes the number of todos can be stale for some time. The counters will be sync just after the user receives a new todo or mark any as done
| | * Use cache for todos counter calling TodoServicePaco Guzman2016-08-121-1/+1
| | |
| * | Merge branch 'change-access-update' into 'master' Yorick Peterse2016-08-151-1/+1
| |\ \ | | | | | | | | | | | | | | | | Change the order of the access rules to check simpler first, and add specs See merge request !5799
| | * | Change the order of the access rules to check simpler first, and add specschange-access-updateAlejandro Rodríguez2016-08-121-1/+1
| | |/
| * | Fix a memory leak caused by Banzai::Filter::SanitizationFilterfix/sanitization-filter-leakAhmad Sherif2016-08-141-1/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | In Banzai::Filter::SanitizationFilter#customize_whitelist, we append three lambdas that has reference to the SanitizationFilter instance, which in turn (potentially) has a reference to the following chain: context hash -> Project instance -> Repository instance -> lookup hash -> various Rugged instances -> various mmap-ed git pack files. All of the above is not garbage collected because the array we append the lambdas to is the constant HTML::Pipeline::SanitizationFilter::WHITELIST.
* | Fix bug where conflict view would have one too many context sectionsDouwe Maan2016-08-121-2/+4
| |
* | Find match line headers by backtrackingSean McGivern2016-08-121-11/+24
| | | | | | | | | | This is more efficient for large files than performing a regex match on every single line.
* | Add more tests for conflictsSean McGivern2016-08-121-1/+1
| |
* | Move resolving code to ResolveServiceSean McGivern2016-08-122-29/+0
| |
* | Clarify Conflict::File#sections methodSean McGivern2016-08-121-3/+19
| |
* | Don't allow resolving invalid conflictsSean McGivern2016-08-121-2/+2
| | | | | | | | | | | | | | | | | | | | An MR can only be resolved in the UI if: - It has conflicts. - It has valid diff_refs (in other words, it supports new diff notes). - It has no conflicts with one side missing. - It has no conflicts in binary files. - It has no conflicts in files too large to display. - It has no conflicts containing invalid conflict markers.
* | Add blob_icon to conflict file JSONSean McGivern2016-08-121-2/+4
| |
* | Add blob_path to conflict file JSONSean McGivern2016-08-122-4/+10
| |
* | Use same resolution format on FE and BESean McGivern2016-08-122-4/+5
| |
* | Fix specsSean McGivern2016-08-124-18/+13
| | | | | | | | | | | | | | | | - Add match line header to expected result for `File#sections`. - Lowercase CSS colours. - Remove unused `diff_refs` keyword argument. - Rename `parent` -> `parent_file`, to be more explicit. - Skip an iteration when highlighting.
* | Fix match line headers at start / end of fileSean McGivern2016-08-121-16/+33
| |
* | Handle case where one side deleted the fileSean McGivern2016-08-121-3/+5
| |
* | Highlight files based on merged fileSean McGivern2016-08-121-2/+5
| |
* | Remove unneeded raiseSean McGivern2016-08-121-3/+0
| |
* | Add match line headersSean McGivern2016-08-121-1/+8
| |
* | Raise errors for large and binary filesSean McGivern2016-08-121-1/+5
| |
* | Handle conflict resolution errors in controllerSean McGivern2016-08-122-7/+10
| |
* | Fix MR conflict resolution commitsSean McGivern2016-08-121-1/+1
| |
* | Auto-highlight conflict when rich_text is calledSean McGivern2016-08-123-13/+17
| |
* | Fix merge conflict reading for new diffsSean McGivern2016-08-121-1/+1
| |
* | Allow resolving conflicts in MR controllerSean McGivern2016-08-122-1/+63
| |
* | Handle multiple merge conflict files in collectionSean McGivern2016-08-123-14/+71
| |
* | Add backend for merge conflicts readingSean McGivern2016-08-123-0/+161
|/
* api for generating new merge requestScott Le2016-08-115-23/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | DRY code + fix rubocop Add more test cases Append to changelog DRY changes list find_url service for merge_requests use GET for getting merge request links remove files rename to get_url_service reduce loop add test case for cross project refactor tiny thing update changelog
* Merge branch 'remove-grack-lfs' into 'master' Rémy Coutable2016-08-113-590/+0
|\ | | | | | | | | | | | | | | | | Remove Grack::Auth: part 2 (LFS) Deprecate Grack::Auth and handle LFS in Rails controllers under the Project namespace. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/14501 See merge request !5369
| * Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into ↵Jacob Vosmaer2016-08-0998-786/+1746
| |\ | | | | | | | | | remove-grack-lfs
| * | Remove obsolete codeJacob Vosmaer2016-07-223-590/+0
| | |
* | | Merge branch 'refactor-builds-creation-service' into 'master' Rémy Coutable2016-08-111-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor pipeline creation service ## What does this MR do? This refactors GitLab CI build processing: all builds for pipeline are pre-created when a pipeline object is created. The builds are created with a new introduced status `created`. The builds are then automatically promoted to `pending` when a previous stage do succeed. This significantly simplifies pipeline processing code solving a lot of problems of lazily initialisation of previous approach (builds were created on-demand). ## Why was this MR needed? The previous mechanism had a lot of flows (shown in related issues) in how it work, but also in code design. Removing cross model-service-library dependencies. The current approach moves a build creation to single place `CreatePipelineService` and removes a dynamic dependency on `config_processor` significantly simplifying a build creation and pipeline processing. Pipeline processing is implemented in `ProcessPipelineService`. This also allows to easily extend GitLab with Manual Actions which is part of 8.10 direction issue. ## Migration problem ~~This MR removes the a on-demand creation of builds in pipelines. Pipelines that are running and are in mid-stage (some stages started, but not all) will not be fully evaluated after application restart. This happens, because the code responsible for on-demand creation is removed. There's no easy way to migrate existing pipelines, other than doing offline migration and putting pipeline processing in migration code (which seems to be a really bad idea).~~ To support old pipelines I added a lazy initialization of builds if none is found. ## What are the relevant issue numbers? Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/12839 Solves: https://gitlab.com/gitlab-org/gitlab-ce/issues/18644 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/289 Allows to easily implement: https://gitlab.com/gitlab-org/gitlab-ce/issues/17010 ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5295
| * | | Pre-create all builds for Pipeline when a trigger is receivedKamil Trzcinski2016-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
* | | | Merge branch '10772-fix-urlencoded-branchname' into 'master' Rémy Coutable2016-08-111-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix front-end for branches that happen to contain urlencoding escape characters (e.g. %) _Originally opened at !3574 by @ewiltshi._ - - - Adding a branch with a name like "foo%20bar" (via command-line) and setting it to the project's default branch causes the project "show" page to 404 for that project. "assign_ref_vars" unescapes the branch name ("foo%20bar" ==> "foo bar"), making GitLab look for a non-existent branch. This MR adds logic to skip the URL unescaping step in "assign_ref_vars". Fixes #10772, #14992, #15304. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5770
| * | | | Fix front-end for branches that happen to contain urlencoding escape ↵10772-fix-urlencoded-branchnameElliot2016-08-111-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | characters (e.g. %) Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | | Merge branch 'file_exists_deprecated' into 'master' Rémy Coutable2016-08-116-18/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `File::exist?` instead of `File::exists?` Each `File::exists?` replaced to `File::exist?`. Since version ruby-2.2.0, method `File::exists?` is deprecated. See merge request !5747
| * | | | Use `File::exist?` instead of `File::exists?`bogdanvlviv2016-08-116-18/+18
| |/ / / | | | | | | | | | | | | Since version ruby-2.2.0, method `File::exists?` is deprecated.