diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-06-13 23:12:53 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-06-13 23:12:53 -0400 |
commit | 6da05577407545bf6511054d8a822cebc38824b9 (patch) | |
tree | 5ef751e40cc963687a0efb8bafdefc441e62c58a | |
parent | fa73abe4c13a081eed45ae9a4eb6fa2864a73e3c (diff) | |
download | buildstream-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.yml | 2 | ||||
-rw-r--r-- | HACKING.rst | 44 | ||||
-rw-r--r-- | doc/Makefile | 26 | ||||
-rwxr-xr-x | doc/bst2html.py | 303 | ||||
-rw-r--r-- | doc/sessions/flatpak-autotools-build.run | 9 | ||||
-rw-r--r-- | doc/sessions/flatpak-autotools-shell.run | 9 | ||||
-rw-r--r-- | doc/sessions/flatpak-autotools.run | 21 | ||||
-rw-r--r-- | doc/source/sessions/flatpak-autotools-build.html | 26 |
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> |