Using a matrix and job separation we can make the architectures compile
parallel to eachother, hopefully reducing the time required for builds
and also simplifying the process of building a single architecture.
A problem that we encountered is that with Python the resulting packed
tars are very large. Each release is in the order of tens of megabytes.
Using artifacts in our pipeline can easily make us surpass the maximum
size limit for free GitHub accounts (500 MB).
Because of this, we use the regular non-parallel pipeline for release
build. Releasing the version from the same job the build was performed
in allows us to directly access the build files instead of using
artifacts.
Separated release and MR pipelines.
Using symlinks the submodules are added to appear just like any
downloaded unpacked tar.
Also added a Makefile clean rule to clean the submodules, which
includes Reseting the submodules to the origin branch state,
including ignored files.
This commits enables gdb's python support. In order to make it work, we
had to create a python fork with some patches to the buildsystem, and
also had to patch gdb as well.
This commit splits the readme file into 2 files - the readme which
contains instructions on how to download our latest release, and on how
to use our build scripts in order to quickly build gdb statically. The
second file is a compilation guide that contains explanations on how to
manually compile gdb statically.