Warning, file /frameworks/syntax-highlighting/autotests/html/Earthfile.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>Earthfile</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Earthfile) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;"># </span><span style="color:#3f8058;">kate:</span><span style="color:#7a7c7d;"> </span><span style="color:#7f8c8d;">hl</span><span style="color:#f44f4f;"> earthfile</span><span style="color:#7f8c8d;">;</span>
0008 
0009 <span style="font-weight:bold;">VERSION</span> <span style="color:#2980b9;font-style:italic;">--shell-out-anywhere</span> 0.6
0010 
0011 <span style="color:#7a7c7d;"># </span><span style="color:#2980b9;background-color:#153042;">BEGIN</span><span style="color:#7a7c7d;"> Global parameters</span>
0012 <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">DEVTOOLSET_VERSION</span> <span style="color:#3f8058;">=</span> <span style="color:#f67400;">11</span>
0013 <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">DEVTOOLSET</span> <span style="color:#3f8058;">=</span> devtoolset-<span style="color:#27aeae;">${DEVTOOLSET_VERSION}</span>
0014 <span style="color:#7a7c7d;"># </span><span style="color:#2980b9;background-color:#153042;">END</span><span style="color:#7a7c7d;"> Global parameters</span>
0015 
0016 <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">param_1</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;String w/ variable interpolation </span><span style="color:#27aeae;">${DEVTOOLSET}</span><span style="color:#f44f4f;">&quot;</span>
0017 <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">param_2</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">'String w/o variable interpolation ${DEVTOOLSET}'</span>
0018 <span style="color:#7a7c7d;"># Run shell command</span>
0019 <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">param_3</span> <span style="color:#3f8058;">=</span> <span style="color:#27aeae;">$(</span><span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;String w/ variable interpolation </span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">DEVTOOLSET</span><span style="color:#27aeae;">}</span><span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">)</span>
0020 
0021 <span style="color:#27ae60;">sample-target:</span>
0022     <span style="font-weight:bold;">FROM</span> alpine
0023     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">stage</span>
0024     <span style="font-weight:bold;">COPY</span> <span style="color:#2980b9;font-style:italic;">--if-exists</span> files/<span style="color:#27aeae;">${stage}</span>/ /files/
0025     <span style="font-weight:bold;">SAVE</span> <span style="font-weight:bold;">ARTIFACT</span> <span style="color:#2980b9;font-style:italic;">--keep-ts</span> /files /share
0026 
0027 <span style="color:#27ae60;">repos-conf-apt:</span>
0028     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">image</span>
0029     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">ppa</span>
0030 
0031     <span style="font-weight:bold;">FROM</span> <span style="color:#27aeae;">${image}</span>
0032 
0033     <span style="font-weight:bold;">ENV</span> <span style="color:#27aeae;">DEBIAN_FRONTEND</span><span style="color:#3f8058;">=</span>noninteractive
0034     <span style="font-weight:bold;">ENV</span> <span style="color:#27aeae;">DEBCONF_NONINTERACTIVE_SEEN</span><span style="color:#3f8058;">=</span>true
0035 
0036     <span style="font-weight:bold;">IF</span> <span style="color:#3f8058;">[</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${ppa}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#3f8058;">!=</span> <span style="color:#f44f4f;">''</span> <span style="color:#3f8058;">]</span>
0037         <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">_more_cmds</span> <span style="color:#3f8058;">=</span> add-apt-repository -y -n ppa:<span style="color:#27aeae;">${ppa}</span>/ppa
0038     <span style="font-weight:bold;">ELSE</span>
0039         <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">_more_cmds</span> <span style="color:#3f8058;">=</span> :
0040     <span style="font-weight:bold;">END</span>
0041 
0042     <span style="font-weight:bold;">RUN</span> <span style="color:#2980b9;font-style:italic;">--mount type</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">secret</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;">id</span><span style="color:#3f8058;">=</span><span style="color:#27ae60;">+secrets</span><span style="color:#0099ff;font-weight:bold;">/repo_gpg_key</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;">target</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">/run/secrets/private-archive-keyring.gpg</span> \
0043         <span style="color:#2980b9;font-style:italic;">--mount type</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">cache</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;">target</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">/var/cache/apt/archives</span> \
0044         <span style="color:#2980b9;font-style:italic;">--mount type</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">cache</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;">target</span><span style="color:#3f8058;">=</span><span style="color:#2980b9;font-style:italic;">/var/lib/apt/lists</span> \
0045         <span style="color:#7f8c8d;">set</span> <span style="color:#2980b9;">-x</span><span style="font-weight:bold;">;</span> <span style="color:#2980b9;">\</span>
0046         <span style="color:#0099ff;font-weight:bold;">debconf-set-selections</span> /tmp/debconf-preset.txt <span style="color:#2980b9;">\</span>
0047      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#8e44ad;">rm</span> <span style="color:#2980b9;">-rf</span> /etc/apt/apt.conf.d/docker-clean <span style="color:#2980b9;">\</span>
0048      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">apt-get</span> update <span style="color:#2980b9;">\</span>
0049      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">apt-get</span> install <span style="color:#2980b9;">-y</span> software-properties-common <span style="color:#2980b9;">\</span>
0050      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">add-apt-repository</span> <span style="color:#2980b9;">--remove</span> multiverse <span style="color:#2980b9;">\</span>
0051      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">gpg</span> <span style="color:#2980b9;">-v</span> <span style="color:#2980b9;">--dearmor</span> <span style="color:#2980b9;">-</span> <span style="color:#3f8058;">&lt;</span>/run/secrets/private-archive-keyring.gpg <span style="color:#3f8058;">&gt;</span> /usr/share/keyrings/private-archive-keyring.gpg <span style="color:#2980b9;">\</span>
0052      <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">_more_cmds</span><span style="color:#27aeae;">}</span>
0053 
0054     <span style="font-weight:bold;">SAVE</span> <span style="font-weight:bold;">ARTIFACT</span> /etc/apt/sources.list /sources.list
0055     <span style="font-weight:bold;">SAVE</span> <span style="font-weight:bold;">ARTIFACT</span> /usr/share/keyrings/private-archive-keyring.gpg /private-archive-keyring.gpg
0056 
0057     <span style="font-weight:bold;">IF</span> <span style="color:#3f8058;">[</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${ppa}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#3f8058;">!=</span> <span style="color:#f44f4f;">''</span> <span style="color:#3f8058;">]</span>
0058         <span style="font-weight:bold;">SAVE</span> <span style="font-weight:bold;">ARTIFACT</span> /etc/apt/sources.list.d/<span style="color:#27aeae;">${ppa}</span>*.list /sources.list.d
0059         <span style="font-weight:bold;">SAVE</span> <span style="font-weight:bold;">ARTIFACT</span> /etc/apt/trusted.gpg.d/<span style="color:#27aeae;">${ppa}</span>*.gpg /trusted.gpg.d
0060     <span style="font-weight:bold;">END</span>
0061 
0062 
0063 <span style="color:#8e44ad;">APT_INSTALL:</span>
0064     <span style="font-weight:bold;">COMMAND</span>
0065 
0066     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">image</span>
0067     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">packages</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">''</span>
0068     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">packages_on_hold</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">''</span>
0069     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">upgrade</span> <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span>
0070     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">clean</span> <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span>
0071     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">pm_aux_options</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">''</span>
0072     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">more_rm_files</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">''</span>
0073     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">more_cmds</span> <span style="color:#3f8058;">=</span> :
0074 
0075     <span style="font-weight:bold;">IF</span> <span style="color:#3f8058;">[</span> <span style="color:#3f8058;">!</span> <span style="color:#3f8058;">-f</span> /root/debconf-preset.txt <span style="color:#3f8058;">]</span>
0076         <span style="font-weight:bold;">COPY</span> (<span style="color:#27ae60;">+repos-conf-apt</span><span style="color:#0099ff;font-weight:bold;">/debconf-preset.txt</span> <span style="color:#2980b9;font-style:italic;">--image</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${image}</span>) /root/debconf-preset.txt
0077         <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">_debconf_cmd_cond</span> <span style="color:#3f8058;">=</span> debconf-set-selections /root/debconf-preset.txt
0078     <span style="font-weight:bold;">ELSE</span>
0079         <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">_debconf_cmd_cond</span> <span style="color:#3f8058;">=</span> :
0080     <span style="font-weight:bold;">END</span>
0081 
0082     <span style="font-weight:bold;">IF</span> <span style="color:#3f8058;">[</span> <span style="color:#3f8058;">!</span> <span style="color:#3f8058;">-f</span> /usr/share/keyrings/private-archive-keyring.gpg <span style="color:#3f8058;">]</span>
0083         <span style="font-weight:bold;">COPY</span> (<span style="color:#27ae60;">+repos-conf-apt</span><span style="color:#0099ff;font-weight:bold;">/private-archive-keyring.gpg</span> <span style="color:#2980b9;font-style:italic;">--image</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${image}</span>) \
0084             /usr/share/keyrings/private-archive-keyring.gpg
0085         <span style="color:#7a7c7d;"># </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;"> Also copy the `sources.list` file with `multiverse` disabled!</span>
0086         <span style="font-weight:bold;">COPY</span> (<span style="color:#27ae60;">+repos-conf-apt</span><span style="color:#0099ff;font-weight:bold;">/sources.list</span> <span style="color:#2980b9;font-style:italic;">--image</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${image}</span>) /etc/apt
0087     <span style="font-weight:bold;">END</span>
0088 
0089     <span style="color:#7a7c7d;"># ...</span>
0090 
0091 <span style="color:#8e44ad;">MAKE_PYTHON_CI_IMAGE:</span>
0092     <span style="font-weight:bold;">COMMAND</span>
0093 
0094     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">image</span>
0095     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">python</span> <span style="color:#3f8058;">=</span> python3
0096     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">python_pkg</span> <span style="color:#3f8058;">=</span> <span style="color:#27aeae;">${python}</span>
0097     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">python_bin</span> <span style="color:#3f8058;">=</span> <span style="color:#27aeae;">${python}</span>
0098     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">python_ver</span> <span style="color:#3f8058;">=</span> <span style="color:#f67400;">3</span>.<span style="color:#f67400;">11</span>
0099 
0100     <span style="font-weight:bold;">DO</span> <span style="color:#8e44ad;">+APT_INSTALL</span> <span style="color:#2980b9;font-style:italic;">--packages</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${python_pkg}</span><span style="color:#f44f4f;"> git&quot;</span>
0101 
0102     <span style="font-weight:bold;">ARG</span> <span style="color:#27aeae;">_chroot_base</span> <span style="color:#3f8058;">=</span> <span style="color:#27aeae;">$(</span><span style="color:#8e44ad;">dirname</span> <span style="color:#27aeae;">$(</span><span style="color:#8e44ad;">cat</span> /etc/debian_chroot<span style="color:#27aeae;">)</span><span style="color:#27aeae;">)</span>
0103 
0104     <span style="font-weight:bold;">DO</span> <span style="color:#0099ff;font-weight:bold;">./share</span><span style="color:#8e44ad;">+IMAGE_INIT</span> \
0105         <span style="color:#2980b9;font-style:italic;">--image_description</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">&quot;CI image for Python projects&quot;</span> \
0106         <span style="color:#2980b9;font-style:italic;">--debian_chroot</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">_chroot_base</span><span style="color:#27aeae;">}</span>/python/<span style="color:#27aeae;">${python_ver}</span>/ci \
0107         <span style="color:#2980b9;font-style:italic;">--storage_name</span><span style="color:#3f8058;">=</span>none
0108 
0109     <span style="font-weight:bold;">COPY</span> <span style="color:#2980b9;font-style:italic;">--dir</span> (<span style="color:#27ae60;">+prep-python-ci</span><span style="color:#0099ff;font-weight:bold;">/local</span> <span style="color:#2980b9;font-style:italic;">--image</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${image}</span>) /usr
0110 
0111     <span style="font-weight:bold;">ENV</span> <span style="color:#27aeae;">SETUPTOOLS_USE_DISTUTILS</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'stdlib'</span>
0112     <span style="font-weight:bold;">ENV</span> <span style="color:#27aeae;">PIP_DISABLE_PIP_VERSION_CHECK</span><span style="color:#3f8058;">=</span>1
0113 
0114 
0115 <span style="color:#27ae60;">all:</span>
0116     <span style="font-weight:bold;">LOCALLY</span>
0117 
0118     <span style="color:#7a7c7d;"># Primary images</span>
0119     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+ci</span>
0120     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+clang-ci</span>
0121     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+python-ci</span>
0122 
0123     <span style="font-weight:bold;">IF</span> <span style="color:#3f8058;">[</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${BUILD_TESTING}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#3f8058;">-gt</span> <span style="color:#f67400;">0</span> <span style="color:#3f8058;">]</span>
0124         <span style="color:#7a7c7d;"># Also include all tests</span>
0125         <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+tests</span>
0126     <span style="font-weight:bold;">END</span>
0127 
0128 <span style="color:#27ae60;">tests:</span>
0129     <span style="font-weight:bold;">LOCALLY</span>
0130 
0131     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+ci-tests</span>
0132     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+clang-ci-tests</span>
0133     <span style="font-weight:bold;">BUILD</span> <span style="color:#27ae60;">+python-ci-tests</span>
0134 
0135 <span style="color:#27ae60;">ci-tests:</span>
0136     <span style="font-weight:bold;">FROM</span> <span style="color:#27ae60;">+ci</span>
0137     <span style="font-weight:bold;">COPY</span> .env /
0138     <span style="font-weight:bold;">DO</span> <span style="color:#0099ff;font-weight:bold;">share</span><span style="color:#8e44ad;">+RUN_TESTS</span> <span style="color:#2980b9;font-style:italic;">--VERBOSE</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${VERBOSE}</span>
0139 
0140 <span style="color:#27ae60;">clang-ci-tests:</span>
0141     <span style="font-weight:bold;">FROM</span> <span style="color:#27ae60;">+clang-ci</span>
0142     <span style="font-weight:bold;">COPY</span> .env /
0143     <span style="font-weight:bold;">ENV</span> <span style="color:#27aeae;">EXPECT_CLANG_VERSION</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">CLANG_VERSION</span><span style="color:#27aeae;">}</span>
0144     <span style="font-weight:bold;">DO</span> <span style="color:#0099ff;font-weight:bold;">share</span><span style="color:#8e44ad;">+RUN_TESTS</span> <span style="color:#2980b9;font-style:italic;">--VERBOSE</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${VERBOSE}</span> <span style="color:#2980b9;font-style:italic;">--script</span><span style="color:#3f8058;">=</span>ci-tests.sh
0145 
0146 <span style="color:#27ae60;">python-ci-tests:</span>
0147     <span style="font-weight:bold;">FROM</span> <span style="color:#27ae60;">+python-ci</span>
0148     <span style="font-weight:bold;">COPY</span> .env /
0149     <span style="font-weight:bold;">DO</span> <span style="color:#0099ff;font-weight:bold;">share</span><span style="color:#8e44ad;">+RUN_TESTS</span> <span style="color:#2980b9;font-style:italic;">--VERBOSE</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">${VERBOSE}</span>
0150 </pre></body></html>