feat: add missing KF6 framework recipes
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<title>Earthfile</title>
|
||||
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Earthfile) - Theme (Breeze Dark)"/>
|
||||
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
|
||||
<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>
|
||||
|
||||
<span style="font-weight:bold">VERSION</span> <span style="color:#2980b9;font-style:italic">--shell-out-anywhere</span> 0.6
|
||||
|
||||
<span style="color:#7a7c7d"># </span><span style="color:#2980b9;background-color:#153042">BEGIN</span><span style="color:#7a7c7d"> Global parameters</span>
|
||||
<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>
|
||||
<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>
|
||||
<span style="color:#7a7c7d"># </span><span style="color:#2980b9;background-color:#153042">END</span><span style="color:#7a7c7d"> Global parameters</span>
|
||||
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">param_1</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"String w/ variable interpolation </span><span style="color:#27aeae">${DEVTOOLSET}</span><span style="color:#f44f4f">"</span>
|
||||
<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>
|
||||
<span style="color:#7a7c7d"># Run shell command</span>
|
||||
<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">"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">"</span><span style="color:#27aeae">)</span>
|
||||
|
||||
<span style="color:#27ae60">sample-target:</span>
|
||||
<span style="font-weight:bold">FROM</span> alpine
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">stage</span>
|
||||
<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/
|
||||
<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
|
||||
|
||||
<span style="color:#27ae60">repos-conf-apt:</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">image</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">ppa</span>
|
||||
|
||||
<span style="font-weight:bold">FROM</span> <span style="color:#27aeae">${image}</span>
|
||||
|
||||
<span style="font-weight:bold">ENV</span> <span style="color:#27aeae">DEBIAN_FRONTEND</span><span style="color:#3f8058">=</span>noninteractive
|
||||
<span style="font-weight:bold">ENV</span> <span style="color:#27aeae">DEBCONF_NONINTERACTIVE_SEEN</span><span style="color:#3f8058">=</span>true
|
||||
|
||||
<span style="font-weight:bold">IF</span> <span style="color:#3f8058">[</span> <span style="color:#f44f4f">"</span><span style="color:#27aeae">${ppa}</span><span style="color:#f44f4f">"</span> <span style="color:#3f8058">!=</span> <span style="color:#f44f4f">''</span> <span style="color:#3f8058">]</span>
|
||||
<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
|
||||
<span style="font-weight:bold">ELSE</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">_more_cmds</span> <span style="color:#3f8058">=</span> :
|
||||
<span style="font-weight:bold">END</span>
|
||||
|
||||
<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> \
|
||||
<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> \
|
||||
<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> \
|
||||
<span style="color:#7f8c8d">set</span> <span style="color:#2980b9">-x</span><span style="font-weight:bold">;</span> <span style="color:#2980b9">\</span>
|
||||
<span style="color:#0099ff;font-weight:bold">debconf-set-selections</span> /tmp/debconf-preset.txt <span style="color:#2980b9">\</span>
|
||||
<span style="font-weight:bold">&&</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>
|
||||
<span style="font-weight:bold">&&</span> <span style="color:#0099ff;font-weight:bold">apt-get</span> update <span style="color:#2980b9">\</span>
|
||||
<span style="font-weight:bold">&&</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>
|
||||
<span style="font-weight:bold">&&</span> <span style="color:#0099ff;font-weight:bold">add-apt-repository</span> <span style="color:#2980b9">--remove</span> multiverse <span style="color:#2980b9">\</span>
|
||||
<span style="font-weight:bold">&&</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"><</span>/run/secrets/private-archive-keyring.gpg <span style="color:#3f8058">></span> /usr/share/keyrings/private-archive-keyring.gpg <span style="color:#2980b9">\</span>
|
||||
<span style="font-weight:bold">&&</span> <span style="color:#27aeae">${</span><span style="color:#27aeae">_more_cmds</span><span style="color:#27aeae">}</span>
|
||||
|
||||
<span style="font-weight:bold">SAVE</span> <span style="font-weight:bold">ARTIFACT</span> /etc/apt/sources.list /sources.list
|
||||
<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
|
||||
|
||||
<span style="font-weight:bold">IF</span> <span style="color:#3f8058">[</span> <span style="color:#f44f4f">"</span><span style="color:#27aeae">${ppa}</span><span style="color:#f44f4f">"</span> <span style="color:#3f8058">!=</span> <span style="color:#f44f4f">''</span> <span style="color:#3f8058">]</span>
|
||||
<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
|
||||
<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
|
||||
<span style="font-weight:bold">END</span>
|
||||
|
||||
|
||||
<span style="color:#8e44ad">APT_INSTALL:</span>
|
||||
<span style="font-weight:bold">FUNCTION</span>
|
||||
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">image</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">packages</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">''</span>
|
||||
<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>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">upgrade</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">clean</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span>
|
||||
<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>
|
||||
<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>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">more_cmds</span> <span style="color:#3f8058">=</span> :
|
||||
|
||||
<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>
|
||||
<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
|
||||
<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
|
||||
<span style="font-weight:bold">ELSE</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">_debconf_cmd_cond</span> <span style="color:#3f8058">=</span> :
|
||||
<span style="font-weight:bold">END</span>
|
||||
|
||||
<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>
|
||||
<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>) \
|
||||
/usr/share/keyrings/private-archive-keyring.gpg
|
||||
<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>
|
||||
<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
|
||||
<span style="font-weight:bold">END</span>
|
||||
|
||||
<span style="color:#7a7c7d"># ...</span>
|
||||
|
||||
<span style="color:#8e44ad">MAKE_PYTHON_CI_IMAGE:</span>
|
||||
<span style="font-weight:bold">FUNCTION</span>
|
||||
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">image</span>
|
||||
<span style="font-weight:bold">ARG</span> <span style="color:#27aeae">python</span> <span style="color:#3f8058">=</span> python3
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<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">"</span><span style="color:#27aeae">${python_pkg}</span><span style="color:#f44f4f"> git"</span>
|
||||
|
||||
<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>
|
||||
|
||||
<span style="font-weight:bold">DO</span> <span style="color:#0099ff;font-weight:bold">./share</span><span style="color:#8e44ad">+IMAGE_INIT</span> \
|
||||
<span style="color:#2980b9;font-style:italic">--image_description</span><span style="color:#3f8058">=</span><span style="color:#f44f4f">"CI image for Python projects"</span> \
|
||||
<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 \
|
||||
<span style="color:#2980b9;font-style:italic">--storage_name</span><span style="color:#3f8058">=</span>none
|
||||
|
||||
<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
|
||||
|
||||
<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>
|
||||
<span style="font-weight:bold">ENV</span> <span style="color:#27aeae">PIP_DISABLE_PIP_VERSION_CHECK</span><span style="color:#3f8058">=</span>1
|
||||
|
||||
|
||||
<span style="color:#27ae60">all:</span>
|
||||
<span style="font-weight:bold">LOCALLY</span>
|
||||
|
||||
<span style="color:#7a7c7d"># Primary images</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+ci</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+clang-ci</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+python-ci</span>
|
||||
|
||||
<span style="font-weight:bold">IF</span> <span style="color:#3f8058">[</span> <span style="color:#f44f4f">"</span><span style="color:#27aeae">${BUILD_TESTING}</span><span style="color:#f44f4f">"</span> <span style="color:#3f8058">-gt</span> <span style="color:#f67400">0</span> <span style="color:#3f8058">]</span>
|
||||
<span style="color:#7a7c7d"># Also include all tests</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+tests</span>
|
||||
<span style="font-weight:bold">END</span>
|
||||
|
||||
<span style="color:#27ae60">tests:</span>
|
||||
<span style="font-weight:bold">LOCALLY</span>
|
||||
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+ci-tests</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+clang-ci-tests</span>
|
||||
<span style="font-weight:bold">BUILD</span> <span style="color:#27ae60">+python-ci-tests</span>
|
||||
|
||||
<span style="color:#27ae60">ci-tests:</span>
|
||||
<span style="font-weight:bold">FROM</span> <span style="color:#27ae60">+ci</span>
|
||||
<span style="font-weight:bold">COPY</span> .env /
|
||||
<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:#27ae60">clang-ci-tests:</span>
|
||||
<span style="font-weight:bold">FROM</span> <span style="color:#27ae60">+clang-ci</span>
|
||||
<span style="font-weight:bold">COPY</span> .env /
|
||||
<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>
|
||||
<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
|
||||
|
||||
<span style="color:#27ae60">python-ci-tests:</span>
|
||||
<span style="font-weight:bold">FROM</span> <span style="color:#27ae60">+python-ci</span>
|
||||
<span style="font-weight:bold">COPY</span> .env /
|
||||
<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>
|
||||
</pre></body></html>
|
||||
Reference in New Issue
Block a user