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