summaryrefslogtreecommitdiff
path: root/app/models/ci
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'ci-commit-as-pipeline' into 'master' Kamil Trzciński2016-04-212-103/+61
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ci::Commit becomes a Pipeline object 1. Ci::Commit receives context: ref, :tag. 1. One Ci::Commit describes a one Pipeline 1. Pipeline is created from `.gitlab-ci.yml` 1. Pipeline is a ordered group of builds 1. We test MR against Pipeline 1. Pipelines have a separate view (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703) 1. Pipeline can be triggered from UI (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703) 1. Later we change `Trigger -> TriggerRequest -> Build` to `Trigger -> Pipeline` (future) 1. We add a Pipeline Hook that will be triggered on Pipeline status change (future) 1. We extend notifications to use `Pipeline Hook` to send summary on pipeline changes (future) After merging that I'll prepare a separate MR that will unify naming, database columns, table names: ``` Ci::Commit -> Pipeline Ci::Build -> Build CommitStatus -> Job GenericCommitStatus -> ExternalJob ci_commits -> pipelines ci_builds -> jobs ``` This MR implements first 5 points. This is made to solve this issue https://gitlab.com/gitlab-org/gitlab-ce/issues/14149. See merge request !3653
| * Merge remote-tracking branch 'origin/master' into ci-commit-as-pipelineci-commit-as-pipelineKamil Trzcinski2016-04-191-3/+15
| |\ | | | | | | | | | | | | # Conflicts: # db/schema.rb
| * | Write specs for this featureKamil Trzcinski2016-04-161-5/+4
| | |
| * | Rename CiStatus to StatusableKamil Trzcinski2016-04-161-1/+1
| | |
| * | Fix implementation of config_processor and ci_yaml_fileKamil Trzcinski2016-04-131-10/+15
| | |
| * | Update handling of skipped statusKamil Trzcinski2016-04-132-16/+9
| | |
| * | Simplify state update of Ci::Commit objectKamil Trzcinski2016-04-131-61/+11
| | |
| * | Remove the use of default scope for BuildsKamil Trzcinski2016-04-131-11/+0
| | |
| * | Optimise CI status accessorKamil Trzcinski2016-04-121-1/+5
| | |
| * | Fix create_next_builds methodKamil Trzcinski2016-04-121-3/+3
| | |
| * | Fix rest of rspec and spinach testsKamil Trzcinski2016-04-121-5/+5
| | |
| * | Fix specsKamil Trzcinski2016-04-111-6/+21
| | |
| * | Use Ci::Commit as PipelineKamil Trzcinski2016-04-112-66/+69
| | |
* | | Fix Build#append_trace method usage when trace file doesn't exists yetTomasz Maczukin2016-04-201-1/+1
| | |
* | | Make sure that appending is done on a valid lengthTomasz Maczukin2016-04-201-4/+5
| | |
* | | Add range checkingTomasz Maczukin2016-04-201-0/+8
| | |
* | | Add incremental build trace update APITomasz Maczukin2016-04-201-1/+13
| |/ |/|
* | Remove code that removes duplicate CI variablesGrzegorz Bizon2016-04-181-2/+1
| | | | | | | | | | At this point this is being handled by GitLab Runner and we need to introduce this as a separate merge request.
* | Rename method that returns global envs in CI confGrzegorz Bizon2016-04-181-1/+1
| |
* | Read job variables directly from gitlab CI configGrzegorz Bizon2016-04-181-2/+6
| |
* | Make it possible to override build variablesGrzegorz Bizon2016-04-181-1/+2
| |
* | Add `variables` keyword to job in CI config YAMLGrzegorz Bizon2016-04-181-2/+10
|/
* Fix review commentsfix-commit-status-renderingKamil Trzcinski2016-03-142-2/+6
| | | | | | | - Remove unused Gitlab::Application.routes.url_helpers from Ci::Build - Remove too much logic from a view, use Ci::Commit.matrix_builds - Use ci_status_with_icon - Don't describe symbols
* Cleanup CiCommit and CiBuildKamil Trzcinski2016-03-142-58/+6
| | | | | | - Remove all view related methods from Ci::Build and CommitStatus - Remove unused Ci::Commit and Ci::Build methods - Use polymorphism to render different types of CommitStatus
* Removed arel_table receiver from search methodsYorick Peterse2016-03-111-1/+1
| | | | | We can just use "arel_table" in these cases instead of "SomeClass.arel_table".
* Use ILIKE/LIKE for searching CI runnersYorick Peterse2016-03-111-3/+17
|
* Fix Merge When Succeeded for multiple stagesKamil Trzcinski2016-02-191-4/+9
| | | | Use around_transition to trigger build creation for next stages
* Merge branch 'commit-status-fix' into 'master' Kamil Trzciński2016-02-191-4/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix missing ignored? for GenericCommitStatus This is pretty important fix. We should not release 8.5 without this. It critical error when handling GenericCommitStatus: ``` undefined method `ignored?' for #<GenericCommitStatus:0x007fe1a2a20fe0> ``` cc @grzesiek See merge request !2899
| * Fix missing ignored? for GenericCommitStatuscommit-status-fixKamil Trzcinski2016-02-191-4/+0
| |
* | Move build erasable implementation from concern to modelGrzegorz Bizon2016-02-192-39/+28
| | | | | | | | | | Discussion: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2560#note_3659905
* | Fix name of build erasable, remove superfluous method from itGrzegorz Bizon2016-02-192-10/+4
| |
* | Create method that checks if build has been erasedGrzegorz Bizon2016-02-191-4/+6
| | | | | | | | + minor improvements
* | Remove boolean erase column from ci build and foreign keyGrzegorz Bizon2016-02-192-2/+0
| |
* | Update relevant build fields when build is erasedGrzegorz Bizon2016-02-192-6/+19
| |
* | Add build eraseable columns to ci builds tableGrzegorz Bizon2016-02-191-0/+3
| |
* | Make CI build eraseable only if build is completedGrzegorz Bizon2016-02-192-1/+5
| |
* | Add build eraseable feature implementationGrzegorz Bizon2016-02-191-3/+18
| |
* | Move eraseable implementation to build concernGrzegorz Bizon2016-02-192-3/+17
| |
* | Add methods to build eraseable componentGrzegorz Bizon2016-02-191-0/+3
|/
* Change interpolation to named placeholder in owned_or_shared scopeTomasz Maczukin2016-02-191-1/+1
|
* Add basic runners management APITomasz Maczukin2016-02-191-0/+6
| | | | | | | - add feature to list runners - add feature to show runners details - add feature to delete runner - add feature to update runner
* Use begin/end instead of defined?Jacob Vosmaer2016-02-021-5/+5
|
* Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into lazy-blobsJacob Vosmaer2016-02-011-4/+4
|\
| * Add method that calculates total size for artifacts subfolderci/recursive-artifacts-entriesKamil Trzcinski2016-01-201-4/+4
| |
* | WIP lazy blobsJacob Vosmaer2016-02-011-1/+5
|/
* Merge branch 'ci/build_dependencies' into 'master' Douwe Maan2016-01-151-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the CI runner know about builds that this build depends on This allows us to implement artifacts passing: runner will download artifacts from all prior builds. It will happen automatically, and always, as long as artifacts are enabled. ## The changes: This MR exposes list of prior builds in CI::API::Builds. **The API response when asking for builds** ```json { "id": 48584, "ref": "0.1.1", "tag": true, "sha": "d63117656af6ff57d99e50cc270f854691f335ad", "status": "success", "name": "pages", "token": "9dd60b4f1a439d1765357446c1084c", "stage": "test", "project_id": 479, "project_name": "test", "commands": "echo commands", "repo_url": "http://gitlab-ci-token:token@gitlab.example/group/test.git", "before_sha": "0000000000000000000000000000000000000000", "allow_git_fetch": false, "options": { "image": "docker:image", "artifacts": { "paths": [ "public" ] }, "cache": { "paths": [ "vendor" ] } }, "timeout": 3600, "variables": [ { "key": "CI_BUILD_TAG", "value": "0.1.1", "public": true } ], "dependencies": { "builds": [ { "id": 48584, "ref": "0.1.1", "tag": true, "sha": "d63117656af6ff57d99e50cc270f854691f335ad", "status": "success", "name": "build", "token": "9dd60b4f1a439d1765357446c1084c", "stage": "build", "project_id": 479, "project_name": "test", "artifacts_file": { "filename": "artifacts.zip", "size": 0 } } ] } } ``` ## How it will work? **Example:** ``` build: type: build script: - echo TEST > test_file artifacts: untracked: true rspec: type: test script: - test-my-project staging: type: deploy script: - scp test_file root@server.com: ``` **The flow:** 1. We run `build`. The `build` creates a file `test_file`. This file gets archived and send us build artifacts. 2. We run `rspec`. The `rspec` downloads build artifacts from `build`. Uses the `test_file`. 3. We run `staging`. The `staging` downloads build artifacts from `build` and `rspec`, but since the `rspec` doesn't have build artifacts we skip that build. Deploys the `test_file`. This partially implements the https://gitlab.com/gitlab-org/gitlab-ce/issues/3423. In the next release we will introduce option to configure what artifacts are received. /cc @grzesiek @DouweM @sytse @rspeicher See merge request !2437
| * Let the CI runner know about builds that this build depends onci/build_dependenciesKamil Trzcinski2016-01-141-0/+8
| | | | | | | | This allows us to implement artifacts passing: runner will download artifacts from all prior builds
* | Merge branch 'master' into ci/api-triggersTomasz Maczukin2016-01-141-13/+28
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (150 commits) fixes margin and padding Update mailroom/postfix documentation [ci skip] Fix css mess around git clone panel. Align it properly Fix missing padding for user/group pages Fix parse_gollum_tags matcher Update documentation on Banzai::Filter::GollumTagsFilter Add tests for the wiki pipeline Refactoring Banzai::Filter::GollumTagsFilter Make sure the .git is at the end on Gitlab::GithubImport::WikiFormatter Remove GollumTagsPipeline Refactoring Gitlab::GithubImport::Importer Remove unnecessary brackets on WIKI_SLUG_ID route constraints Move js function to removing accents to vendor/assets/javascripts Update CHANGELOG Use the WikiPipeline when rendering the wiki markdown content Add Banzai::Filter::GollumTagsFilter for parsing Gollum's tags in HTML Relax constraints for wiki slug Import GitHub wiki into GitLab Move Ci::Build#available_statuses to AVAILABLE_STATUSES constant in CommitStatus Revert changes to how the notes are paginated in the API ... Conflicts: doc/api/README.md lib/api/entities.rb
| * Merge branch 'ci/view-build-artifacts' into 'master' Grzegorz Bizon2016-01-141-13/+28
| |\ | | | | | | | | | | | | | | | | | | Add browser for build artifacts Discussion in #3426, closes #3426. See merge request !2123
| | * Improve readability of artifacts browser `Entry` related codeGrzegorz Bizon2016-01-141-2/+2
| | |