summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-06-13 23:12:53 -0400
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-06-13 23:12:53 -0400
commit6da05577407545bf6511054d8a822cebc38824b9 (patch)
tree5ef751e40cc963687a0efb8bafdefc441e62c58a
parentfa73abe4c13a081eed45ae9a4eb6fa2864a73e3c (diff)
downloadbuildstream-6da05577407545bf6511054d8a822cebc38824b9.tar.gz
doc: Improve the new console output html generator
Before we were creating one description file for each output, making it easier to declare a make rule for it - but the result was that we would have to build things more and it takes a long time. Instead, now we have session files which describe a series of commands to run in a session, and each command optionally produces an output file.
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--HACKING.rst44
-rw-r--r--doc/Makefile26
-rwxr-xr-xdoc/bst2html.py303
-rw-r--r--doc/sessions/flatpak-autotools-build.run9
-rw-r--r--doc/sessions/flatpak-autotools-shell.run9
-rw-r--r--doc/sessions/flatpak-autotools.run21
-rw-r--r--doc/source/sessions/flatpak-autotools-build.html26
8 files changed, 266 insertions, 174 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fc8a9cc66..7c5bcbd24 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -147,7 +147,7 @@ docs:
- pip3 install sphinx_rtd_theme
- cd dist && ./unpack.sh && cd buildstream
- pip3 install .
- - make -C doc clean
+ - make -C doc sessions
- make -C doc
- cd ../..
- mv dist/buildstream/doc/build/html public
diff --git a/HACKING.rst b/HACKING.rst
index 8ef82244f..d326a7b35 100644
--- a/HACKING.rst
+++ b/HACKING.rst
@@ -269,9 +269,9 @@ you can view in your browser locally to test.
Regenerating session html
'''''''''''''''''''''''''
-The documentation build will only build the session files if they
-are not yet built, and we revision the session files to make it easier
-for developers to try documentation changes.
+The documentation build will only build the session files if explicitly
+asked to. We revision the generated session html files in order to reduce
+the burden on documentation contributors.
To explicitly rebuild the session snapshot html files, it is recommended that you
first set the ``BST_SOURCE_CACHE`` environment variable to your source cache, this
@@ -279,10 +279,9 @@ will make the docs build reuse already downloaded sources::
export BST_SOURCE_CACHE=~/.cache/buildstream/sources
-To force rebuild, simply run the following::
+To force build the session html, simply run the following::
- make -C doc clean
- make -C doc
+ make -C doc sessions
Man pages
@@ -375,17 +374,36 @@ included in the reStructuredText documentation at any time with::
.. raw:: html
:file: sessions/${example}.html
-The ``.run`` file format is just another YAML dictionary with a few options:
+The ``.run`` file format is just another YAML dictionary which consists of a
+``commands`` list, instructing the program what to do command by command.
+
+Each *command* is a dictionary, the members of which are listed here:
+
+* ``directory``: The input file relative project directory
+
+* ``output``: The input file relative output html file to generate (optional)
+
+* ``command``: The command to run, without the leading ``bst``
+
+When adding a new ``.run`` file, one should normally also commit the new
+resulting generated ``.html`` file(s) at the same time, this ensures that
+other developers do not need to regenerate them locally in order to build
+the docs.
+
+**Example**:
-* ``directory``: The project directory to run commands on, relative to the ``.run`` file.
+.. code:: yaml
-* ``prepare-commands``: A list of command strings which should be run first
+ commands:
-* ``command``: The command to capture the output of
+ # Make it fetch first
+ - directory: ../examples/foo
+ command: fetch hello.bst
-When adding a new ``.run`` file, one should normally also commit a new
-generated ``.html`` file at the same time, this ensures that other developers
-do not need to regenerate them locally in order to build the docs.
+ # Capture a build output
+ - directory: ../examples/foo
+ output: ../source/sessions/foo-build.html
+ command: build hello.bst
Testing BuildStream
diff --git a/doc/Makefile b/doc/Makefile
index dbb293449..1c1e538ab 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -26,7 +26,7 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
BST2HTML = $(CURDIR)/bst2html.py
-.PHONY: all clean templates templates-clean html devhelp
+.PHONY: all clean templates templates-clean sessions sessions-clean html devhelp
# Canned recipe for generating plugin api skeletons
# $1 = the plugin directory
@@ -59,11 +59,10 @@ define plugin-doc-skeleton
endef
-
# We set PYTHONPATH here because source/conf.py sys.modules hacks dont seem to help sphinx-build import the plugins
all: html devhelp
-clean: templates-clean
+clean: templates-clean sessions-clean
rm -rf build
# Generate rst templates for the docs using a mix of sphinx-apidoc and
@@ -75,23 +74,26 @@ templates:
$(call plugin-doc-skeleton,$(CURDIR)/../buildstream/plugins/elements,elements)
$(call plugin-doc-skeleton,$(CURDIR)/../buildstream/plugins/sources,sources)
+templates-clean:
+ rm -rf source/elements
+ rm -rf source/sources
+
# Generate the html fragments of colorized BuildStream terminal output only
# if they don't yet exist. This is expensive so you need to run `make clean` first
# if you want to regenerate them.
#
-SESSION_HTML = $(patsubst sessions/%.run,source/sessions/%.html,$(wildcard sessions/*.run))
-source/sessions/%.html:
- $(BST2HTML) -o $@ --description $(patsubst source/sessions/%.html,sessions/%.run,$@)
+sessions:
+ for file in "$(wildcard sessions/*.run)"; do \
+ $(BST2HTML) --description $$file; \
+ done
-templates-clean:
- rm -rf source/elements
- rm -rf source/sources
+sessions-clean:
rm -rf source/sessions
# Targets which generate docs with sphinx build
#
#
-html devhelp: templates $(SESSION_HTML)
+html devhelp: templates
@echo "Building $@..."
PYTHONPATH=$(CURDIR)/../buildstream/plugins \
$(SPHINXBUILD) -b $@ $(ALLSPHINXOPTS) "$(BUILDDIR)/$@" \
@@ -101,7 +103,3 @@ html devhelp: templates $(SESSION_HTML)
$(wildcard source/sources/*.rst)
@echo
@echo "Build of $@ finished, output: $(CURDIR)/$(BUILDDIR)/$@"
-
-testy:
- @echo "Using $(SPHINXBUILD)"
- @echo "Py is $(PYV)"
diff --git a/doc/bst2html.py b/doc/bst2html.py
index 33e86e05c..9c5aaaf9a 100755
--- a/doc/bst2html.py
+++ b/doc/bst2html.py
@@ -25,13 +25,18 @@
# https://github.com/Kronuz/ansi2html.git
#
import os
+import sys
import re
+import shlex
import subprocess
+from collections import Mapping
+from contextlib import contextmanager
from tempfile import TemporaryDirectory
import click
from buildstream import _yaml
+from buildstream._exceptions import BstError
_ANSI2HTML_STYLES = {}
@@ -169,20 +174,163 @@ def ansi2html(text, palette='solarized'):
return sub
-# FIXME: Workaround a setuptools bug which fails to include symbolic
-# links in the source distribution.
+# workdir()
#
-# Remove this hack once setuptools is fixed
-def workaround_setuptools_bug(project):
- os.makedirs(os.path.join(project, "files", "links"), exist_ok=True)
- try:
- os.symlink(os.path.join("usr", "lib"), os.path.join(project, "files", "links", "lib"))
- os.symlink(os.path.join("usr", "bin"), os.path.join(project, "files", "links", "bin"))
- os.symlink(os.path.join("usr", "etc"), os.path.join(project, "files", "links", "etc"))
- except FileExistsError:
- # If the files exist, we're running from a git checkout and
- # not a source distribution, no need to complain
- pass
+# Sets up a new temp directory with a config file
+#
+# Args:
+# work_directory (str): The directory where to create a tempdir first
+# source_cache (str): The directory of a source cache to share with, or None
+#
+# Yields:
+# The buildstream.conf full path
+#
+@contextmanager
+def workdir(source_cache=None):
+ with TemporaryDirectory(prefix='run-bst-', dir=os.getcwd()) as tempdir:
+
+ bst_config_file = os.path.join(tempdir, 'buildstream.conf')
+ config = {
+ 'sourcedir': source_cache,
+ 'artifactdir': os.path.join(tempdir, 'artifacts'),
+ 'logdir': os.path.join(tempdir, 'logs'),
+ 'builddir': os.path.join(tempdir, 'build'),
+ }
+ _yaml.dump(config, bst_config_file)
+
+ yield (tempdir, bst_config_file)
+
+
+# run_command()
+#
+# Runs a command
+#
+# Args:
+# config_file (str): The path to the config file to use
+# directory (str): The project directory
+# command (str): A command string
+#
+# Returns:
+# (str): The colorized combined stdout/stderr of BuildStream
+#
+def run_command(config_file, directory, command):
+ click.echo("Running command in directory '{}': bst {}".format(directory, command), err=True)
+
+ argv = ['bst', '--colors', '--config', config_file] + shlex.split(command)
+ p = subprocess.Popen(argv, cwd=directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ out, _ = p.communicate()
+ return out.decode('utf-8').strip()
+
+
+# generate_html
+#
+# Generate html based on the output
+#
+# Args:
+# output (str): The output of the BuildStream command
+# directory (str): The project directory
+# config_file (str): The config file
+# source_cache (str): The source cache
+# tempdir (str): The base work directory
+# palette (str): The rendering color style
+# command (str): The command
+#
+# Returns:
+# (str): The html formatted output
+#
+def generate_html(output, directory, config_file, source_cache, tempdir, palette, command):
+
+ test_base_name = os.path.basename(directory)
+ show_command = 'bst ' + command
+
+ # Substitute some things we want normalized for the docs
+ output = re.sub(os.environ.get('HOME'), '/home/user', output)
+ output = re.sub(config_file, '/home/user/.config/buildstream.conf', output)
+ output = re.sub(source_cache, '/home/user/.cache/buildstream/sources', output)
+ output = re.sub(tempdir, '/home/user/.cache/buildstream', output)
+ output = re.sub(directory, '/home/user/{}'.format(test_base_name), output)
+
+ # Now convert to HTML and add some surrounding sugar
+ output = ansi2html(output, palette=palette)
+
+ # Finally format it nicely into a <div>
+ output = '<!--\n' + \
+ ' WARNING: This file was generated with bst2html.py\n' + \
+ '-->\n' + \
+ '<div class="highlight" style="font-size:x-small">' + \
+ '<pre>\n' + \
+ '<span style="color:#C4A000;font-weight:bold">user@host</span>:' + \
+ '<span style="color:#3456A4;font-weight:bold">~/{}</span>$ '.format(test_base_name) + \
+ show_command + '\n\n' + \
+ output + '\n' + \
+ '</pre></div>\n'
+
+ return output
+
+
+def run_session(description, tempdir, source_cache, palette, config_file):
+
+ desc = _yaml.load(description, shortname=os.path.basename(description))
+ desc_dir = os.path.dirname(description)
+
+ # FIXME: Workaround a setuptools bug where the symlinks
+ # we store in git dont get carried into a release
+ # tarball. This workaround lets us build docs from
+ # a source distribution tarball.
+ #
+ symlinks = _yaml.node_get(desc, Mapping, 'workaround-symlinks', default_value={})
+ for symlink, target in _yaml.node_items(symlinks):
+
+ # Resolve real path to where symlink should be
+ symlink = os.path.join(desc_dir, symlink)
+
+ # Ensure dir exists
+ symlink_dir = os.path.dirname(symlink)
+ os.makedirs(symlink_dir, exist_ok=True)
+
+ click.echo("Generating symlink at: {} (target: {})".format(symlink, target), err=True)
+
+ # Generate a symlink
+ try:
+ os.symlink(target, symlink)
+ except FileExistsError:
+ # If the files exist, we're running from a git checkout and
+ # not a source distribution, no need to complain
+ pass
+
+ # Run commands
+ #
+ commands = _yaml.node_get(desc, list, 'commands')
+ for c in commands:
+ command = _yaml.node_get(desc, Mapping, 'commands', indices=[commands.index(c)])
+
+ # Get the directory where this command should be run
+ directory = _yaml.node_get(command, str, 'directory')
+ directory = os.path.join(desc_dir, directory)
+ directory = os.path.realpath(directory)
+
+ # Run the command
+ command_str = _yaml.node_get(command, str, 'command')
+ command_out = run_command(config_file, directory, command_str)
+
+ # Encode and save the output if that was asked for
+ output = _yaml.node_get(command, str, 'output', default_value=None)
+ if output is not None:
+
+ # Convert / Generate a nice <div>
+ converted = generate_html(command_out, directory, config_file,
+ source_cache, tempdir, palette,
+ command_str)
+
+ # Save it
+ filename = os.path.join(desc_dir, output)
+ filename = os.path.realpath(filename)
+ output_dir = os.path.dirname(filename)
+ os.makedirs(output_dir, exist_ok=True)
+ with open(filename, 'wb') as f:
+ f.write(converted.encode('utf-8'))
+
+ click.echo("Saved session at '{}'".format(filename), err=True)
@click.command(short_help="Run a bst command and capture stdout/stderr in html")
@@ -205,121 +353,42 @@ def workaround_setuptools_bug(project):
def run_bst(directory, source_cache, description, palette, output, command):
"""Run a bst command and capture stdout/stderr in html
- This command normally takes a description yaml file, the format
- of that file is as follows:
-
- \b
- # A relative path to the project, from the description file itself
- directory: path/to/project
-
- \b
- # A list of commands to run in preparation
- prepare-commands:
- - fetch hello.bst
-
- \b
- # The command to generate html output for
- command: build hello.bst
+ This command normally takes a description yaml file, see the HACKING
+ file for information on it's format.
"""
- prepare_commands = []
-
- if description:
- desc = _yaml.load(description, shortname=os.path.basename(description))
- desc_dir = os.path.dirname(description)
+ if not source_cache and os.environ.get('BST_SOURCE_CACHE'):
+ source_cache = os.environ['BST_SOURCE_CACHE']
- command_str = _yaml.node_get(desc, str, 'command')
- command = command_str.split()
+ with workdir(source_cache=source_cache) as (tempdir, config_file):
- # The directory should be relative to where the description file was
- # stored
- directory_str = _yaml.node_get(desc, str, 'directory')
- directory = os.path.join(desc_dir, directory_str)
- directory = os.path.realpath(directory)
-
- prepare = _yaml.node_get(desc, list, 'prepare-commands', default_value=[])
- for prepare_command in prepare:
- prepare_commands.append(prepare_command)
+ if not source_cache:
+ source_cache = os.path.join(tempdir, 'sources')
- else:
- if not command:
- command = []
+ if description:
+ run_session(description, tempdir, source_cache, palette, config_file)
+ return
+ # Run a command specified on the CLI
+ #
if not directory:
directory = os.getcwd()
else:
directory = os.path.abspath(directory)
directory = os.path.realpath(directory)
- # FIXME: Here we just setup a files/links subdir with
- # the symlinks we want for usrmerge, ideally
- # we dont need this anymore once setuptools gets
- # fixed.
- #
- workaround_setuptools_bug(directory)
-
- test_base_name = os.path.basename(directory)
-
- if not source_cache and os.environ.get('BST_SOURCE_CACHE'):
- source_cache = os.environ['BST_SOURCE_CACHE']
-
- with TemporaryDirectory(prefix='run-bst-', dir=directory) as tempdir:
- bst_config_file = os.path.join(tempdir, 'buildstream.conf')
- final_command = ['bst', '--colors', '--config', bst_config_file]
- final_command += command
-
- show_command = ['bst']
- show_command += command
- show_command_string = ' '.join(show_command)
-
- if not source_cache:
- source_cache = os.path.join(tempdir, 'sources')
-
- config = {
- 'sourcedir': source_cache,
- 'artifactdir': os.path.join(tempdir, 'artifacts'),
- 'logdir': os.path.join(tempdir, 'logs'),
- 'builddir': os.path.join(tempdir, 'build'),
- }
- _yaml.dump(config, bst_config_file)
+ if not command:
+ command = []
+ command_str = " ".join(command)
- # Run some prepare commands if they were specified
+ # Run the command
#
- for prepare_command_str in prepare_commands:
- prepare_command = ['bst', '--config', bst_config_file] + prepare_command_str.split()
- p = subprocess.Popen(prepare_command, cwd=directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- _, _ = p.communicate()
+ command_out = run_command(config_file, directory, command_str)
- # Run BuildStream and collect the output in a single string,
- # with the ANSI escape sequences forced enabled.
+ # Generate a nice html div for this output
#
- p = subprocess.Popen(final_command, cwd=directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- out, _ = p.communicate()
- decoded = out.decode('utf-8').strip()
-
- # Substitute some things we want normalized for the docs
- decoded = re.sub(os.environ.get('HOME'), '/home/user', decoded)
- decoded = re.sub(bst_config_file, '/home/user/.config/buildstream.conf', decoded)
- decoded = re.sub(source_cache, '/home/user/.cache/buildstream/sources', decoded)
- decoded = re.sub(tempdir, '/home/user/.cache/buildstream', decoded)
- decoded = re.sub(directory, '/home/user/{}'.format(test_base_name), decoded)
-
- # Now convert to HTML and add some surrounding sugar
- div_style = 'font-size:x-small'
- converted = ansi2html(decoded, palette=palette)
- converted = '<div class="highlight" style="{}">'.format(div_style) + \
- '<pre>\n' + \
- '<span style="color:#C4A000;font-weight:bold">user@host</span>:' + \
- '<span style="color:#3456A4;font-weight:bold">~/{}</span>$ '.format(test_base_name) + \
- show_command_string + '\n\n' + \
- converted + '\n' + \
- '</pre></div>\n'
-
- # Prepend a warning
- #
- converted = '<!--\n' + \
- ' WARNING: This file was generated with bst2html.py\n' + \
- '-->\n' + \
- converted
+ converted = generate_html(command_out, directory, config_file,
+ source_cache, tempdir, palette,
+ command_str)
if output is None:
click.echo(converted)
@@ -329,7 +398,11 @@ def run_bst(directory, source_cache, description, palette, output, command):
with open(output, 'wb') as f:
f.write(converted.encode('utf-8'))
- return p.returncode
+ return 0
if __name__ == '__main__':
- run_bst()
+ try:
+ run_bst()
+ except BstError as e:
+ click.echo("Error: {}".format(e), err=True)
+ sys.exit(-1)
diff --git a/doc/sessions/flatpak-autotools-build.run b/doc/sessions/flatpak-autotools-build.run
deleted file mode 100644
index d970849a4..000000000
--- a/doc/sessions/flatpak-autotools-build.run
+++ /dev/null
@@ -1,9 +0,0 @@
-# Project directory
-directory: ../examples/flatpak-autotools
-
-# Make sure it's fetched in the source cache
-prepare-commands:
-- fetch hello.bst
-
-# Build it with everything already fetched
-command: build hello.bst
diff --git a/doc/sessions/flatpak-autotools-shell.run b/doc/sessions/flatpak-autotools-shell.run
deleted file mode 100644
index c1eaf903e..000000000
--- a/doc/sessions/flatpak-autotools-shell.run
+++ /dev/null
@@ -1,9 +0,0 @@
-# Project directory
-directory: ../examples/flatpak-autotools
-
-# Make sure it's fetched and built in the caches
-prepare-commands:
-- build hello.bst
-
-# Run it now that we know everything is built
-command: shell hello.bst -- hello
diff --git a/doc/sessions/flatpak-autotools.run b/doc/sessions/flatpak-autotools.run
new file mode 100644
index 000000000..be4451a9a
--- /dev/null
+++ b/doc/sessions/flatpak-autotools.run
@@ -0,0 +1,21 @@
+# Workaround setuptools bug for our symlinks here
+#
+workaround-symlinks:
+ ../examples/flatpak-autotools/files/links/bin: usr/bin
+ ../examples/flatpak-autotools/files/links/etc: usr/etc
+ ../examples/flatpak-autotools/files/links/lib: usr/lib
+
+commands:
+# Make it fetch first
+- directory: ../examples/flatpak-autotools
+ command: fetch hello.bst
+
+# Capture a build output
+- directory: ../examples/flatpak-autotools
+ output: ../source/sessions/flatpak-autotools-build.html
+ command: build hello.bst
+
+# Capture a shell output
+- directory: ../examples/flatpak-autotools
+ output: ../source/sessions/flatpak-autotools-shell.html
+ command: shell hello.bst -- hello
diff --git a/doc/source/sessions/flatpak-autotools-build.html b/doc/source/sessions/flatpak-autotools-build.html
index 91a670311..147e728b5 100644
--- a/doc/source/sessions/flatpak-autotools-build.html
+++ b/doc/source/sessions/flatpak-autotools-build.html
@@ -14,8 +14,8 @@
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Checking sources
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Checking sources
-<span style="color:#C4A000"><span style="">BuildStream Version 1.1.3+131.gd9da078d.dirty
-</span></span><span style="color:#06989A"><span style="opacity:0.5"> Session Start: </span></span><span style="color:#C4A000">Tuesday, 12-06-2018 at 22:36:40</span>
+<span style="color:#C4A000"><span style="">BuildStream Version 1.1.3+135.gfa73abe4.dirty
+</span></span><span style="color:#06989A"><span style="opacity:0.5"> Session Start: </span></span><span style="color:#C4A000">Wednesday, 13-06-2018 at 23:09:58</span>
<span style="color:#06989A"><span style="opacity:0.5"> Project: </span></span><span style="color:#C4A000">flatpak-autotools (/home/user/flatpak-autotools)</span>
<span style="color:#06989A"><span style="opacity:0.5"> Targets: </span></span><span style="color:#C4A000">hello.bst</span>
@@ -40,23 +40,23 @@
<span style="color:#3465A4"> waiting</span> <span style="color:#C4A000">998d2c331d5ba6fbec6c6542ec0b00d396fa73b9c67ab17441525d3a68941c8f</span> <span style="color:#3465A4"><span style="">base.bst</span></span>
<span style="color:#3465A4"> waiting</span> <span style="color:#C4A000">c6da929e6df823f3a09d2129b6785198d0fede01f5ef87d87f0edcdbfc850c1b</span> <span style="color:#3465A4"><span style="">hello.bst</span></span>
<span style="color:#06989A"><span style="opacity:0.5">===============================================================================
-</span></span><span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-sdk/9ad74bd1-build.14418.log</span></span>
+</span></span><span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-sdk/9ad74bd1-build.32403.log</span></span>
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging sources
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">21</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging sources
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">23</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging sources
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">31</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">57</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-sdk/9ad74bd1-build.14418.log</span></span>
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-usrmerge/68ac6ea7-build.14435.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">35</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">01</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">02</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">9ad74bd1</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/sdk.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-sdk/9ad74bd1-build.32403.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-usrmerge/68ac6ea7-build.32421.log</span></span>
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging sources
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging sources
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-usrmerge/68ac6ea7-build.14435.log</span></span>
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base/998d2c33-build.14437.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">68ac6ea7</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base/usrmerge.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base-usrmerge/68ac6ea7-build.32421.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base/998d2c33-build.32423.log</span></span>
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base/998d2c33-build.14437.log</span></span>
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/hello/c6da929e-build.14439.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">998d2c33</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">base.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/base/998d2c33-build.32423.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/hello/c6da929e-build.32425.log</span></span>
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging dependencies
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">02</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Staging dependencies
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Integrating sandbox
@@ -134,8 +134,8 @@
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Running strip-commands
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">--</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#3465A4"><span style=""><span style="opacity:0.5">START </span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Caching artifact
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">07</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/hello/c6da929e-build.14439.log</span></span>
-<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">01</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">05</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Build
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">07</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">c6da929e</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#C4A000">build</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">hello.bst </span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span><span style="color:#C4A000"><span style="opacity:0.5">flatpak-autotools/hello/c6da929e-build.32425.log</span></span>
+<span style="color:#06989A"><span style="opacity:0.5">[</span></span><span style="color:#C4A000">00</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">01</span><span style="color:#06989A"><span style="opacity:0.5">:</span></span><span style="color:#C4A000">12</span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">][</span></span><span style="color:#06989A"><span style="opacity:0.5">] </span></span><span style="color:#4E9A06"><span style=""><span style="opacity:0.5">SUCCESS</span></span></span><span style="color:#06989A"><span style="opacity:0.5"> </span></span>Build
<span style="color:#C4A000"><span style="">Pipeline Summary
</span></span><span style="color:#06989A"><span style="opacity:0.5"> Total: </span></span><span style="color:#C4A000">4</span>