BigW Consortium Gitlab
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
Name |
Last commit
|
Last update |
---|---|---|
app | Loading commit data... | |
bin | Loading commit data... | |
builds | Loading commit data... | |
config | Loading commit data... | |
db | Loading commit data... | |
doc | Loading commit data... | |
docker | Loading commit data... | |
features | Loading commit data... | |
fixtures/emojis | Loading commit data... | |
lib | Loading commit data... | |
log | Loading commit data... | |
public | Loading commit data... | |
scripts | Loading commit data... | |
shared | Loading commit data... | |
spec | Loading commit data... | |
tmp | Loading commit data... | |
vendor/assets | Loading commit data... | |
.flayignore | Loading commit data... | |
.foreman | Loading commit data... | |
.gitattributes | Loading commit data... | |
.gitignore | Loading commit data... | |
.gitlab-ci.yml | Loading commit data... | |
.hound.yml | Loading commit data... | |
.pkgr.yml | Loading commit data... | |
.rspec | Loading commit data... | |
.rubocop.yml | Loading commit data... | |
.ruby-version | Loading commit data... | |
.simplecov | Loading commit data... | |
.teatro.yml | Loading commit data... | |
CHANGELOG | Loading commit data... | |
CONTRIBUTING.md | Loading commit data... | |
GITLAB_SHELL_VERSION | Loading commit data... | |
GITLAB_WORKHORSE_VERSION | Loading commit data... | |
Gemfile | Loading commit data... | |
Gemfile.lock | Loading commit data... | |
LICENSE | Loading commit data... | |
MAINTENANCE.md | Loading commit data... | |
PROCESS.md | Loading commit data... | |
Procfile | Loading commit data... | |
README.md | Loading commit data... | |
Rakefile | Loading commit data... | |
VERSION | Loading commit data... | |
config.ru | Loading commit data... | |
doc_styleguide.md | Loading commit data... | |
docker-compose.yml | Loading commit data... |