[BuildStream] [Proposal] 1.4 release (and potential further 1.x releases)
- From: Abderrahim Kitouni <akitouni gnome org>
- To: buildstream-list gnome org
- Subject: [BuildStream] [Proposal] 1.4 release (and potential further 1.x releases)
- Date: Fri, 24 May 2019 11:25:35 +0100
Hi all,
As discussed in the meeting, I'd like to backport some features to the
stable branch, which means a 1.4 release. As this was discussed before
and led to an agreement of not releasing further 1.x versions, I'd like
to add my arguments.
The main arguments against further 1.x releases were:
* Buildstream developers aren't interested in them,
* A release implies a freeze, which would slow down development,
* Buildstream is still unstable and we don't want incompatible minor
versions.
For the first point, we (GNOME/freedesktop-sdk) need features which are
only available in master. I'm ready to put in the effort needed for the
release, and I convinced Tristan to help.
For the second and third point, we're planning to branch further 1.x
releases from bst-1.2 and carefully select features to backport. I
think we can have small (documented) incompatibilities, especially
regarding cache key stability, but I'm open to discussing this.
With that out of the way, let me explain my vision for 1.4. I'm posting
a list of MRs I'd like to backport. I'd appreciate any hints about
prerequisites/followups to those. I split the list it in 5 categories.
As a plan, I think we should backport existing fixes for the first two
categories, release a 1.3.1. And try to work on the rest on a
best-effort basis. I'd like to have a final 1.4 before August for the
freedesktop-sdk release, but Tristan might want to have it earlier.
* Features we want/need: These are either simple, non-intrusive
features or features we really want. These are the priority for 1.4
- Allow source plugins to access previous sources
https://gitlab.com/BuildStream/buildstream/merge_requests/568/
- followup: Bst track can't track when multiple sources are on the
same element without ref
https://gitlab.com/BuildStream/buildstream/issues/1010
- Resolve "Make dependency type default to build"
https://gitlab.com/BuildStream/buildstream/merge_requests/633
- loader: Allow dependencies to use ":" to refer to junctioned
elements https://gitlab.com/BuildStream/buildstream/merge_requests/998
- git.py: Make `ref` human readable
https://gitlab.com/BuildStream/buildstream/merge_requests/291
- Expose base class for Git source plugins
https://gitlab.com/BuildStream/buildstream/merge_requests/1019
- Expose _GitMirror as part of plugin author facing API
https://gitlab.com/BuildStream/buildstream/merge_requests/1022
- Allow customisation of max-jobs instead hardcore to a maximum of 8
https://gitlab.com/BuildStream/buildstream/issues/1033
* Minor incopatibilities: These are features/fixes that bring in small
incompatiblities (including breaking cache keys). I believe these are
okay, but we should have them in as soon as possible to define the
cache keys of 1.4.
- Execution environment reqs
https://gitlab.com/BuildStream/buildstream/merge_requests/969
- followup: BuildStream doesn't hit the cache when building foreign
arches https://gitlab.com/BuildStream/buildstream/issues/523
- Symlink fixes
https://gitlab.com/BuildStream/buildstream/merge_requests/1138
- Do not resolve or mangle symlinks during staging
https://gitlab.com/BuildStream/buildstream/merge_requests/1140
- Update cache keys to use JSON
https://gitlab.com/BuildStream/buildstream/merge_requests/1151
- Allow absolute paths in whitelist
https://gitlab.com/BuildStream/buildstream/merge_requests/968
* Nice to have: These are mostly UI additions, I'd like to have them in
1.4 if they are believed to be stable, but they can wait for 1.6 if
time doesn't permit.
- Patch for issue #191 support relative workspaces
https://gitlab.com/BuildStream/buildstream/merge_requests/504
- Updated Workspace CLI
https://gitlab.com/BuildStream/buildstream/merge_requests/897
- Support invoking buildstream from a workspace outside a project
https://gitlab.com/BuildStream/buildstream/merge_requests/924
- Guess the element when running commands in a workspace
https://gitlab.com/BuildStream/buildstream/merge_requests/954
- Add support for default targets
https://gitlab.com/BuildStream/buildstream/merge_requests/925
- Add `bst source-checkout` command
https://gitlab.com/BuildStream/buildstream/merge_requests/820
- Add artifact log command
https://gitlab.com/BuildStream/buildstream/merge_requests/920
- Introduce new artifact subcommand `delete`
https://gitlab.com/BuildStream/buildstream/merge_requests/1060 (merged
manually as ac71ea61)
- Add `--deps build` option to `bst checkout`
https://gitlab.com/BuildStream/buildstream/merge_requests/819
- Add --remote, -r option to bst build, inline with pull & push
https://gitlab.com/BuildStream/buildstream/merge_requests/1119
- _frontend: Allow printing dependencies using `bst show`
https://gitlab.com/BuildStream/buildstream/merge_requests/1121
* Cleanups, refactorings and performance improvements: I believe we
want all of them, but not necessarily in 1.4. Backporting
cleanups/refactorings makes it easier to backport features/fixes from
master.
* Compatibility features for easy transition to Buildstream 2.0:
Ideally, I'd like to be able to modify the project to be able to work
with both 1.x and master. I'd also like to be able to use bst master
UI/UX (all while keeping compatibility with 1.2).
I've left out the details for the last two categories as they can wait.
I'd like to have at least virtual directories, and UI deprecation where
we are sure the bst master UI is stable.
Cheers,
Abderrahim
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]