Open pnoltes opened 11 months ago
Next to caching, could it maybe help to offer a apache/celix-build
container image where all the dependencies are already preinstalled? This can be used during the CI build of Celix (where dependencies are not re-installed every build and can potentially also be used by current and new developers working on Celix ?
Next to caching, could it maybe help to offer a
apache/celix-build
container image where all the dependencies are already preinstalled? This can be used during the CI build of Celix (where dependencies are not re-installed every build and can potentially also be used by current and new developers working on Celix ?
That is an interesting idea. I believe this is very doable and there might be some overlap with adding Gitpod support (also based on building in a container image). One of the image layers could be the installation of Conan Celix dependencies. I also expect (note assumption) that caching an image is well-supported and documented.
That being said, I would also like to retain the build on Ubuntu and MacOS systems. In my opinion, this demonstrates and proves that Apache Celix is usable on those systems. In other words, +1 for adding a celix-build image and using that in our CI, but in my opinion, this should be complementary to the already existing Ubuntu and MacOS builds.
Add github cache actions for build dependencies
Add github cache actions to speed up build and possible test times when pushing changes to Apache Celix.
Background
Source: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows
Implementation hints
Try to add cache actions for the following build results:
apt install
in the Linux ubuntu builds (https://github.com/apache/celix/blob/master/.github/workflows/ubuntu.yml), this is for the "Configure and install dependencies" stepbrew install
in the masos builds (https://github.com/apache/celix/blob/master/.github/workflows/macos.yml), this is for the "Install dependencies" step-Done in #628conan install
in the Linux ubuntu and coverage builds (https://github.com/apache/celix/blob/master/.github/workflows/ubuntu.yml and https://github.com/apache/celix/blob/master/.github/workflows/coverage.yml), this is for the "Configure and install dependencies" step.Maybe there is already some existing actions for this and if not try to store and recover the apt, brew and conan cache dirs.