RIOT-OS / RobotFW-tests

Includes tests for RIOT based on the Robot Framework
GNU Lesser General Public License v2.1
4 stars 13 forks source link

Jenkinsfile: Pipeline improvements to speed up source code checkout #63

Closed cgundogan closed 4 years ago

cgundogan commented 4 years ago

This PR experimentally adds --depth 1 to the git submodule update. The objective is to reduce the network overhead that comes with downloading the huge history of the RIOT submodule.

Let's observe this first, before merging.

EDIT: I added another commit that replaces the github interaction for each executor with a proper stash/unstash. The master node is now performing the initial git clone and scm setup, stashes the working dir, and all executors unstash the working directory.

cgundogan commented 4 years ago

Hmm, Jenkins does not take the changes into account that were made to the jenkinsfile in this PR. That is good from a security perspective, for testing this change to the Jenkinsfile, this is however unfortunate (: I guess we have to merge this in, in order to test it ..

MrKevinWeiss commented 4 years ago

If you push a branch directly to upstream it will run it.

cgundogan commented 4 years ago

I added another commit that includes the stash/unstash feature and edited the original post. Results for both improvements can be found here.

MrKevinWeiss commented 4 years ago

If I try to rerun it seems to skip everything, the changes do seem to save 10 mins on the regular 1:45:00 time.

cgundogan commented 4 years ago

Alright, there is another (3.) commit now that initializes the working directory on each RasPi only once per build. This should again reduce the overall build time.

MrKevinWeiss commented 4 years ago

I think it looks good, I reran two at a time and things seemed to work out.