summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* format_project.rst: Add docs for OptionOSraoul/775-execution-environment-reqsRaoul Hidalgo Charman2018-12-051-0/+24
|
* format_declaring.rst: Update documentation for sandbox optionsRaoul Hidalgo Charman2018-12-051-2/+22
|
* format_project.rst: Update documentation for changes to OptionArchRaoul Hidalgo Charman2018-12-051-6/+19
|
* Sandbox: use linux32 for x86-32 builds on x86-64 machinesRaoul Hidalgo Charman2018-12-052-5/+30
| | | | | | | | o _platform/linux.py: Add linux32 flag to send to sandbox bwrap when the build arch is x86-32 and the machines arch is x86-64 or similarly with aarch32 and aarch64. o sandbox/_sandboxbwrap.py: Use flag passed to start bwrap command with linux32 if set.
* _platform: Add checks for os and architectureRaoul Hidalgo Charman2018-12-052-4/+22
|
* optionos.py: Add tests for OptionOSRaoul Hidalgo Charman2018-12-053-0/+99
| | | | Same format as OptionArch tests, but with OS's.
* optionos.py: Add new option for OS configurationRaoul Hidalgo Charman2018-12-052-0/+43
|
* _sandboxremote.py: Add os and arch to command uploadedRaoul Hidalgo Charman2018-12-051-1/+8
| | | | These are contained within the platform field.
* optionarch.py: update to use same arch names as SandboxConfigRaoul Hidalgo Charman2018-12-0518-43/+43
| | | | Also update tests to be consistent with this
* _config.py: Use os and architecture settingsRaoul Hidalgo Charman2018-12-0531-37/+45
| | | | | | In element, platform asks for host os and architecture to default to when SandboxConfig is initialised. This changes element cache keys so those have been updated in the tests.
* platform.py: Add mapping of uname to OS-independent valueslachlanmackenzie/debug_benchmark_failureRaoul Hidalgo Charman2018-12-051-0/+38
|
* Merge branch 'valentindavid/git_describe_tracking' into 'master'Tristan Van Berkom2018-12-059-15/+390
|\ | | | | | | | | | | | | Track of git tags and save them to reproduce minimum shallow repository Closes #487 See merge request BuildStream/buildstream!906
| * NEWS: Add news about broken 'git describe' by default.Valentin David2018-12-051-0/+4
| |
| * git source plugin: Track git tags and save them to reproduce a minimum ↵Valentin David2018-12-058-15/+386
|/ | | | | | | | | | | | | | | shallow repository Instead of tag information being fetched which can change with time, they are tracked and saved in the projects.refs/.bst. Then we re-tag automatically the closest tag so that `git describe` works and is reproducible. This new feature is opt-in with the new `track-tags` configuration, and must be used to fix modules which are broken by our new policy of omitting the `.git/` repository when staging git sources. This fixes issue #487
* Merge branch 'tristan/refactor-queues-update-state' into 'master'Tristan Van Berkom2018-12-052-6/+11
|\ | | | | | | | | _scheduler/queues/queue.py: Don't call update state outside of error handling harness See merge request BuildStream/buildstream!988
| * _scheduler/queues: Don't call update state outside of error handling harnessTristan Van Berkom2018-12-052-6/+11
|/ | | | | | | | | | | | | | | | | | | | | | | | | Commit 3fa79d8da, part of an initiative for caching of the failed builds, introduced a call to Element._update_state() after a job completes and before entering the error handling harness intended for handling plugin raised errors. Element._update_state() can result in triggering plugin code to run, so this is incorrect, and causes raised errors to crash BuildStream if they happen here. After analyzing the code, it appears that this additional call to Element._update_state() is unneeded, and was only added because the state needs to be updated for a failure as well as a success. Instead, we now have the BuildQueue call Element._assemble_done() unconditionally, regardless of whether the build was successful or not, which has the same effect and also reads better. In addition, added a FIXME comment that we are still conditionally updating the artifact cache size from BuildQueue.done() only if the build is successful, which is incorrect because failed builds also increase the local artifact cache size - to fix this we need to communicate the added artifact size through Element._assemble() regardless of whether the build succeeded or failed.
* Merge branch 'jonathan/fix-identical-element' into 'master'Jürg Billeter2018-12-0318-6/+99
|\ | | | | | | | | | | | | _yamlcache.py: Use a project's junction name if present Closes #795 See merge request BuildStream/buildstream!980
| * tests/loader/junctions.py: Test that we can build a junction that is ↵jonathan/fix-identical-elementJames Ennis2018-12-0317-0/+69
| | | | | | | | | | | | | | referred differently, twice. Test required to close #795 - We should be able to build a project which refers to the same junction twice, but with two different filenames.
| * _yamlcache.py: Use a project's junction name if presentJonathan Maw2018-12-031-6/+30
|/ | | | | | | | | This is required because if there are projects with the same name loaded, that have elements in the same path, with the same contents, they are considered the same, despite actually belonging to different Projects. This fixes buildstream issue #795
* Merge branch 'jjardon/doc_git_submodules' into 'master'Tristan Van Berkom2018-12-031-0/+5
|\ | | | | | | | | git: warn about checkout submodules by default See merge request BuildStream/buildstream!983
| * buildstream/plugins/sources/git.py: warn about checkout by defaultJavier Jardón2018-12-031-0/+5
|/ | | | See #783
* Merge branch 'chandan/bst-checkout-build' into 'master'Tristan Van Berkom2018-12-035-28/+47
|\ | | | | | | | | | | | | Add `--deps build` option to `bst checkout` Closes #670 See merge request BuildStream/buildstream!819
| * Refactor and simplify _prepare_sandbox for elementsBenjamin Schubert2018-12-033-18/+18
| | | | | | | | | | | | | | | | Before we would have a intricate logics with multiple arguments that might get ignored. This simplifies the design and introduces a bool `shell` instead of having two different variables concerned about scope
| * Add `--deps build` option to `bst checkout`Chandan Singh2018-12-033-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html, add `--deps build` option to `bst checkout`. This will allow users to checkout the all build dependencies of a given element using a single command. - _frontend/cli.py: Add `--deps build` option for `bst checkout`. - element.py: Support `deps='build'` in Element._prepare_sandbox(). - tests/frontend/buildcheckout.py: Ensure `--deps build` works as expected.
| * Ensure `--deps=none` option works for `bst checkout`Chandan Singh2018-12-033-23/+29
|/ | | | | | | | | | | | | | Currently, `bst checkout --deps none` command always produces empty output. Fix this issue and add regression test for the same. - element_enums.py: Add Scope.NONE. - element.py: Ensure Scope.NONE works correctly in addition to Scope.RUN/Scope.ALL in Element.dependencies() and Element.search(). - tests/frontend/buildcheckout.py: Fix tests for `--deps none`. Fixes #670.
* Merge branch 'tristan/fix-doc-session-rebuilds' into 'master'Tristan Van Berkom2018-12-031-0/+1
|\ | | | | | | | | | | | | MANIFEST.in: Include the sources for rebuilding the documentation session HTML Closes #778 See merge request BuildStream/buildstream!984
| * MANIFEST.in: Include the sources for rebuilding the documentation session HTMLTristan Van Berkom2018-12-031-0/+1
|/ | | | | | | This was previously missing, causing our CI to forget to rebuild the sessions when updating the documentation. This fixes issue #778
* Merge branch 'mandatory_suffix' into 'master'Jürg Billeter2018-11-3012-10/+149
|\ | | | | | | | | Mandatory .bst suffix See merge request BuildStream/buildstream!967
| * NEWS: Added update about the Mandatory .bst changePhillip Smyth2018-11-301-0/+4
| |
| * Added tests for .bst suffix and completionsPhillip Smyth2018-11-307-6/+91
| | | | | | | | | | | | | | | | buildcheckout.py: Add mandatory .bst suffix tests completions.py: Add test for fail on invalid suffix Added required files for testing integration/source-determinism.py: renamed test elements to end with .bst loader/__init__.py: initialised context properly with load and a message handler
| * cli.py: no autocomplete on files without .bstPhillip Smyth2018-11-301-1/+5
| |
| * loader: Added file suffix check and helper functionPhillip Smyth2018-11-301-0/+40
| | | | | | | | _loader/loader.py: Added Suffix check and warning for named elements and add helper function
| * _project.py: Check for fatal_warnings earlierPhillip Smyth2018-11-301-3/+3
| |
| * plugin.py: Add BAD_ELEMENT_SUFFIX warningPhillip Smyth2018-11-301-0/+6
|/
* Merge branch 'tpollard/774' into 'master'Jürg Billeter2018-11-304-26/+97
|\ | | | | | | | | | | | | _stream.py: Ability to pull missing buildtrees outside of pull/build Closes #774 See merge request BuildStream/buildstream!978
| * _stream.py: Ability to pull missing buildtrees outside of pull/buildTom Pollard2018-11-304-26/+97
|/ | | | | | | | | | | | | | | | | | Adds helper function _buildtree_pull_required() to determine if a pullqueue should be constructed, for commands outside of bst pull and build where it is determined that an element's buildtree artifact is to be required given the respective semantics and config. Utilised in push() to attempt to mitigate skipping the push of partial elements without the user having to have preceded it with an explicit pull. cli.py: Add new behaviour to push command description element.py: Move _cached_buildtree() to be non local private method, use _KeyStrength types to reduce duplication. tests/integration/pullbuildtrees.py also updated to cover this use-case.
* Merge branch 'aevri/update_man' into 'master'Jürg Billeter2018-11-3019-105/+158
|\ | | | | | | | | man/: update with changes since Apr 2018 See merge request BuildStream/buildstream!981
| * man/: update with changes since Apr 2018Angelos Evripiotis2018-11-3019-105/+158
|/ | | | | | | | | | | | | | | | It seems that the regenerated man pages haven't been committed for some time. Add them all in one lump now. Had to manually strip the version number from the generated files. Had to manually fix the NAME field of bst.1 to not be 'bst - None'. Oddly had to invoke click-man directly in order to get the changes to be applied, the usual setup.py route mentioned in contributing.rst didn't work. Eyeballed the result of invoking man on each of the commands, seems good.
* Merge branch 'valentindavid/netrc' into 'master'Valentin David2018-11-299-3/+431
|\ | | | | | | | | | | | | Add support for .netrc in remote/tar/zip plugins Closes #723 See merge request BuildStream/buildstream!908
| * .gitlab-ci.yml: Update image versions where forgottenvalentindavid/netrcValentin David2018-11-291-2/+2
| |
| * Add support for .netrc in remote/tar/zip pluginsValentin David2018-11-298-1/+429
|/ | | | Fixes #723.
* Merge branch 'jmac/no-verify-digests' into 'master'Jim MacArthur2018-11-291-8/+1
|\ | | | | | | | | | | | | _sandboxremote.py: Remove unnecessary tests. Closes #786 See merge request BuildStream/buildstream!976
| * _sandboxremote.py: Remove unnecessary tests.Jim MacArthur2018-11-291-8/+1
|/ | | | | | | push_message and push_directory will both raise assertion failures if they fail to send the digest to the server. Checking the digest returned by each only tests that the content was hashed locally, which cannot reasonably fail.
* Merge branch 'valentindavid/cache_server_fill_up' into 'master'Valentin David2018-11-294-96/+254
|\ | | | | | | | | | | | | Fix cleanup of cache in server when disk is full Closes #678 See merge request BuildStream/buildstream!830
| * Lock cache cleanup in cas servervalentindavid/cache_server_fill_upValentin David2018-11-281-46/+56
| | | | | | | | Cleaning up in parallel might slow down the cleaning process
| * Cleanup cache in cas server more agressivelyValentin David2018-11-283-67/+107
| | | | | | | | | | When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
| * Move cas server from ref-based to object-based garbage collection.Valentin David2018-11-282-3/+46
| |
| * Update mtimes of objects for requested references.Valentin David2018-11-283-11/+37
| | | | | | | | | | This also remove references when some objects are missing. This is in preparation for the move from reference to object garbage collection.
| * "Fallocate" object disk space to avoid getting NOSPC error when writingValentin David2018-11-281-6/+24
| | | | | | | | | | This locks the temporary object file so that cleanup does not need to be done for every write.
| * Avoid copying temporary file when adding object to CAS in server.Valentin David2018-11-282-18/+26
| | | | | | | | | | | | | | The file is already a temporary file and does not need copy. ENOSPC is thrown during that copy in issue #609. Fixes #678.