aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2022-02-25 17:20:11 +0000
committerAlex Bennée <alex.bennee@linaro.org>2022-02-28 16:42:12 +0000
commit9c3b52245570a17b876d7eecbf7714cc5959ed0f (patch)
tree9ed3b9045fedf7266c477a5c4b54c36415f40b33
parent93c9aeede659a5675fa0eee5991521434c2b198a (diff)
scripts/ci: allow for a secondary runner
Some HW can run multiple architecture profiles so we can install a secondary runner to build and run tests for those profiles. This allows setting up secondary service. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220225172021.3493923-9-alex.bennee@linaro.org>
-rw-r--r--scripts/ci/setup/gitlab-runner.yml38
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/ci/setup/gitlab-runner.yml b/scripts/ci/setup/gitlab-runner.yml
index 1127db516f..33128be85d 100644
--- a/scripts/ci/setup/gitlab-runner.yml
+++ b/scripts/ci/setup/gitlab-runner.yml
@@ -69,3 +69,41 @@
name: gitlab-runner
state: started
enabled: yes
+
+ - name: Download secondary gitlab-runner
+ get_url:
+ dest: /usr/local/bin/gitlab-runner-arm
+ url: "https://s3.amazonaws.com/gitlab-runner-downloads/v{{ gitlab_runner_version }}/binaries/gitlab-runner-{{ gitlab_runner_os }}-arm"
+ owner: gitlab-runner
+ group: gitlab-runner
+ mode: u=rwx,g=rwx,o=rx
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['architecture'] == 'aarch64'
+ - ansible_facts['distribution_version'] == '20.04'
+
+ - name: Register secondary gitlab-runner
+ command: "/usr/local/bin/gitlab-runner-arm register --non-interactive --url {{ gitlab_runner_server_url }} --registration-token {{ gitlab_runner_registration_token }} --executor shell --tag-list aarch32,{{ ansible_facts[\"distribution\"]|lower }}_{{ ansible_facts[\"distribution_version\"] }} --description '{{ ansible_facts[\"distribution\"] }} {{ ansible_facts[\"distribution_version\"] }} {{ ansible_facts[\"architecture\"] }} ({{ ansible_facts[\"os_family\"] }})'"
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['architecture'] == 'aarch64'
+ - ansible_facts['distribution_version'] == '20.04'
+
+ - name: Install the secondary gitlab-runner service using its own functionality
+ command: /usr/local/bin/gitlab-runner-arm install --user gitlab-runner --working-directory /home/gitlab-runner/arm -n gitlab-runner-arm
+ register: gitlab_runner_install_service_result
+ failed_when: "gitlab_runner_install_service_result.rc != 0 and \"already exists\" not in gitlab_runner_install_service_result.stderr"
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['architecture'] == 'aarch64'
+ - ansible_facts['distribution_version'] == '20.04'
+
+ - name: Enable the secondary gitlab-runner service
+ service:
+ name: gitlab-runner-arm
+ state: started
+ enabled: yes
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['architecture'] == 'aarch64'
+ - ansible_facts['distribution_version'] == '20.04'