On 2/23/21 12:25 PM, Thomas Huth wrote: > On 19/02/2021 22.58, Cleber Rosa wrote: >> As described in the included documentation, the "custom runner" jobs >> extend the GitLab CI jobs already in place. One of their primary >> goals of catching and preventing regressions on a wider number of host >> systems than the ones provided by GitLab's shared runners. >> >> This sets the stage in which other community members can add their own >> machine configuration documentation/scripts, and accompanying job >> definitions. As a general rule, those newly added contributed jobs >> should run as "non-gating", until their reliability is verified (AKA >> "allow_failure: true"). >> >> Signed-off-by: Cleber Rosa <cr...@redhat.com> >> --- >> .gitlab-ci.d/custom-runners.yml | 14 ++++++++++++++ >> .gitlab-ci.yml | 1 + >> docs/devel/ci.rst | 28 ++++++++++++++++++++++++++++ >> docs/devel/index.rst | 1 + >> 4 files changed, 44 insertions(+) >> create mode 100644 .gitlab-ci.d/custom-runners.yml >> create mode 100644 docs/devel/ci.rst >> >> diff --git a/.gitlab-ci.d/custom-runners.yml >> b/.gitlab-ci.d/custom-runners.yml >> new file mode 100644 >> index 0000000000..3004da2bda >> --- /dev/null >> +++ b/.gitlab-ci.d/custom-runners.yml >> @@ -0,0 +1,14 @@ >> +# The CI jobs defined here require GitLab runners installed and >> +# registered on machines that match their operating system names, >> +# versions and architectures. This is in contrast to the other CI >> +# jobs that are intended to run on GitLab's "shared" runners. >> + >> +# Different than the default approach on "shared" runners, based on >> +# containers, the custom runners have no such *requirement*, as those >> +# jobs should be capable of running on operating systems with no >> +# compatible container implementation, or no support from >> +# gitlab-runner. To avoid problems that gitlab-runner can cause while >> +# reusing the GIT repository, let's enable the recursive submodule >> +# strategy. >> +variables: >> + GIT_SUBMODULE_STRATEGY: recursive > > Is it really necessary? I thought our configure script would take care > of the submodules?
Well, if there is a failure during the first clone (I got one network timeout in the middle) then next time it doesn't work: Updating/initializing submodules recursively... Synchronizing submodule url for 'capstone' Synchronizing submodule url for 'dtc' Synchronizing submodule url for 'meson' Synchronizing submodule url for 'roms/QemuMacDrivers' Synchronizing submodule url for 'roms/SLOF' Synchronizing submodule url for 'roms/edk2' Synchronizing submodule url for 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' Synchronizing submodule url for 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli' Synchronizing submodule url for 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx' Synchronizing submodule url for 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort' Synchronizing submodule url for 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' Synchronizing submodule url for 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli' Synchronizing submodule url for 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma' Synchronizing submodule url for 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka' Synchronizing submodule url for 'roms/ipxe' Synchronizing submodule url for 'roms/openbios' Synchronizing submodule url for 'roms/opensbi' Synchronizing submodule url for 'roms/qboot' Synchronizing submodule url for 'roms/qemu-palcode' Synchronizing submodule url for 'roms/seabios' Synchronizing submodule url for 'roms/seabios-hppa' Synchronizing submodule url for 'roms/sgabios' Synchronizing submodule url for 'roms/skiboot' Synchronizing submodule url for 'roms/u-boot' Synchronizing submodule url for 'roms/u-boot-sam460ex' Synchronizing submodule url for 'roms/vbootrom' Synchronizing submodule url for 'slirp' Synchronizing submodule url for 'tests/fp/berkeley-softfloat-3' Synchronizing submodule url for 'tests/fp/berkeley-testfloat-3' Synchronizing submodule url for 'ui/keycodemapdb' Entering 'capstone' Entering 'dtc' Entering 'meson' Entering 'roms/QemuMacDrivers' Entering 'roms/SLOF' Entering 'roms/edk2' Entering 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli' Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx' Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort' Entering 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' Entering 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli' Entering 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma' Entering 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka' Entering 'roms/ipxe' Entering 'roms/openbios' Entering 'roms/opensbi' Entering 'roms/qboot' Entering 'roms/qemu-palcode' Entering 'roms/seabios' Entering 'roms/seabios-hppa' Entering 'roms/sgabios' Entering 'roms/skiboot' Entering 'roms/u-boot' Entering 'roms/u-boot-sam460ex' Entering 'roms/vbootrom' Entering 'slirp' Entering 'tests/fp/berkeley-softfloat-3' Entering 'tests/fp/berkeley-testfloat-3' Entering 'ui/keycodemapdb' Entering 'capstone' HEAD is now at f8b1b833 fix CS_ mips_ OP structure comment error (#1674) Entering 'dtc' HEAD is now at 85e5d83 Makefile: when building libfdt only, do not add unneeded deps Entering 'meson' HEAD is now at 776acd2a8 Bump versions to 0.55.3 for release Entering 'roms/QemuMacDrivers' HEAD is now at 90c488d Merge pull request #3 from mcayland/fix/unbreak-256-color-mode Entering 'roms/SLOF' HEAD is now at e18ddad version: update to 20200717 Entering 'roms/edk2' HEAD is now at 06dc822d04 Revert ".pytool/EccCheck: Disable Ecc error code 10014 for open CI" Entering 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' HEAD is now at b64af41 Fix typo in function 'softfloat_propagateNaNF128M' for RISC-V. Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli' HEAD is now at 666c328 Make types of variable match (#796) Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx' HEAD is now at ca7cb33 move to git Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort' HEAD is now at 5f60d6f Merge pull request #7 from kloetzl/master Entering 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' Entering 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli' HEAD is now at 63be8a9 unichr was removed in Python 3 because all str are Unicode (#877) Entering 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma' HEAD is now at b2c1da6 add ONIG_OPTION_CALLBACK_EACH_MATCH test Entering 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka' HEAD is now at 160dffe Don't use non-literal format strings Entering 'roms/ipxe' HEAD is now at 4bd064de [build] Fix building on older versions of gcc Entering 'roms/openbios' HEAD is now at 7f28286 PPC: mark first 4 pages of physical and virtual memory as unavailable Entering 'roms/opensbi' HEAD is now at a98258d include: Bump-up version to 0.8 Entering 'roms/qboot' HEAD is now at a5300c4 qboot: Disable PIE for ELF binary build step Entering 'roms/qemu-palcode' HEAD is now at bf0e136 Report machine checks to the kernel Entering 'roms/seabios' HEAD is now at 155821a docs: Note v1.14.0 release Entering 'roms/seabios-hppa' HEAD is now at 73b740f7 parisc: Set text planes and used_bits in STI fields Entering 'roms/sgabios' HEAD is now at cbaee52 SGABIOS: fix wrong video attrs for int 10h, ah==13h Entering 'roms/skiboot' HEAD is now at 3a6fdede skiboot v6.4 release notes Entering 'roms/u-boot' HEAD is now at d3689267f9 Prepare v2019.01 Entering 'roms/u-boot-sam460ex' HEAD is now at 60b3916 Add README to clarify relation to U-Boot and ACube's version Entering 'roms/vbootrom' HEAD is now at 0c37a43 Merge pull request #1 from google/disable-build-id Entering 'slirp' HEAD is now at 8f43a99 Merge branch 'stable-4.2' into 'stable-4.2' Entering 'tests/fp/berkeley-softfloat-3' HEAD is now at b64af41 Fix typo in function 'softfloat_propagateNaNF128M' for RISC-V. Entering 'tests/fp/berkeley-testfloat-3' HEAD is now at 5a59dce fail: constify fail_programName Entering 'ui/keycodemapdb' HEAD is now at 6119e6e Fix scan codes for Korean keys fatal: Needed a single revision Unable to find current revision in submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' Failed to recurse into submodule path 'roms/edk2' ERROR: Job failed: exit status 1