From bb61376b0d713c27ad34013307e20b7b4d741cf1 Mon Sep 17 00:00:00 2001
From: Sam Thursfield <sam@afuera.me.uk>
Date: Thu, 30 Jul 2020 13:12:00 +0200
Subject: [PATCH] ci: Separate image preparation commands

The Debian image preparation is moved to before_script to separate it
from the build and test commands. Note that this adds an implicit 5 minute
time limit on this part of the script (see
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2716).

The commands are also now written once and copied using YAML anchors
(as documented at
https://docs.gitlab.com/ee/ci/yaml/README.html#yaml-anchors-for-before_script-and-after_script).
---
 .gitlab-ci.yml | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4d0a2dce4..27e6f07ac 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,12 +1,16 @@
+.debian_image_preparation: &debian_image_preparation
+  - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
+  - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
+  - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
+
 debian_stretch_x86_64_deb:
    tags:
      - debian
      - stretch
      - x86_64
+   before_script:
+     - *debian_image_preparation
    script:
-     - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
      - cd l2ork_addons
      - ./tar_em_up.sh -B
      - cd ..
@@ -24,10 +28,9 @@ ubuntu_16.04_x86_64_deb:
      - ubuntu
      - v16.04
      - x86_64
+   before_script:
+     - *debian_image_preparation
    script:
-     - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
      - cd l2ork_addons
      - ./tar_em_up.sh -B
      - cd ..
@@ -99,10 +102,9 @@ raspbian_stretch_armv7l_deb:
      - raspbian
      - arm 
      - stretch
+   before_script:
+     - *debian_image_preparation
    script:
-     - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
-     - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
      - echo `pwd`
      - cd l2ork_addons
      - ./tar_em_up.sh -r
-- 
GitLab