All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: [PULL 01/35] scripts/ci: update gitlab-runner playbook to use latest runner
Date: Thu, 26 Jan 2023 11:22:16 +0000	[thread overview]
Message-ID: <20230126112250.2584701-2-alex.bennee@linaro.org> (raw)
In-Reply-To: <20230126112250.2584701-1-alex.bennee@linaro.org>

We were using quite and old runner on our machines and running into
issues with stalling jobs. Gitlab in the meantime now reliably provide
the latest packaged versions of the runner under a stable URL. This
update:

  - creates a per-arch subdir for builds
  - switches from binary tarballs to deb packages
  - re-uses the same binary for the secondary runner
  - updates distro check for second to 22.04

Note this script isn't fully idempotent as we end up accumulating
runners especially during testing. However we also want to be able to
run twice with different GitLab keys (e.g. project and personal) so I
think we just have to be mindful of that during testing.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230124180127.1881110-2-alex.bennee@linaro.org>

diff --git a/scripts/ci/setup/gitlab-runner.yml b/scripts/ci/setup/gitlab-runner.yml
index 33128be85d..95d4199c03 100644
--- a/scripts/ci/setup/gitlab-runner.yml
+++ b/scripts/ci/setup/gitlab-runner.yml
@@ -50,60 +50,30 @@
 
     - name: Download the matching gitlab-runner
       get_url:
-        dest: /usr/local/bin/gitlab-runner
-        url: "https://s3.amazonaws.com/gitlab-runner-downloads/v{{ gitlab_runner_version  }}/binaries/gitlab-runner-{{ gitlab_runner_os }}-{{ gitlab_runner_arch }}"
-        owner: gitlab-runner
-        group: gitlab-runner
-        mode: u=rwx,g=rwx,o=rx
-
-    - name: Register the gitlab-runner
-      command: "/usr/local/bin/gitlab-runner register --non-interactive --url {{ gitlab_runner_server_url }} --registration-token {{ gitlab_runner_registration_token }} --executor shell --tag-list {{ ansible_facts[\"architecture\"] }},{{ ansible_facts[\"distribution\"]|lower }}_{{ ansible_facts[\"distribution_version\"] }} --description '{{ ansible_facts[\"distribution\"] }} {{ ansible_facts[\"distribution_version\"] }} {{ ansible_facts[\"architecture\"] }} ({{ ansible_facts[\"os_family\"] }})'"
-
-    - name: Install the gitlab-runner service using its own functionality
-      command: /usr/local/bin/gitlab-runner install --user gitlab-runner --working-directory /home/gitlab-runner
-      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"
+        dest: "/root/"
+        url: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_{{ gitlab_runner_arch }}.deb"
 
-    - name: Enable the gitlab-runner service
-      service:
-        name: gitlab-runner
-        state: started
-        enabled: yes
+    - name: Install gitlab-runner via package manager
+      apt: deb="/root/gitlab-runner_{{ gitlab_runner_arch }}.deb"
 
-    - 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 the gitlab-runner
+      command: "/usr/bin/gitlab-runner register --non-interactive --url {{ gitlab_runner_server_url }} --registration-token {{ gitlab_runner_registration_token }} --executor shell --tag-list {{ ansible_facts[\"architecture\"] }},{{ ansible_facts[\"distribution\"]|lower }}_{{ ansible_facts[\"distribution_version\"] }} --description '{{ ansible_facts[\"distribution\"] }} {{ ansible_facts[\"distribution_version\"] }} {{ ansible_facts[\"architecture\"] }} ({{ ansible_facts[\"os_family\"] }})'"
 
+    # The secondary runner will still run under the single gitlab-runner service
     - 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\"] }})'"
+      command: "/usr/bin/gitlab-runner 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'
+        - ansible_facts['distribution_version'] == '22.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
+    - name: Install the gitlab-runner service using its own functionality
+      command: "/usr/bin/gitlab-runner install --user gitlab-runner --working-directory /home/gitlab-runner"
       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
+    - name: Enable the gitlab-runner service
       service:
-        name: gitlab-runner-arm
+        name: gitlab-runner
         state: started
         enabled: yes
-      when:
-        - ansible_facts['distribution'] == 'Ubuntu'
-        - ansible_facts['architecture'] == 'aarch64'
-        - ansible_facts['distribution_version'] == '20.04'
diff --git a/scripts/ci/setup/vars.yml.template b/scripts/ci/setup/vars.yml.template
index e48089761f..4b355fb80f 100644
--- a/scripts/ci/setup/vars.yml.template
+++ b/scripts/ci/setup/vars.yml.template
@@ -1,5 +1,3 @@
-# The version of the gitlab-runner to use
-gitlab_runner_version: 13.12.0
 # The URL of the gitlab server to use, usually https://gitlab.com unless you're
 # using a private GitLab instance
 gitlab_runner_server_url: https://gitlab.com
-- 
2.34.1



  reply	other threads:[~2023-01-26 11:23 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-26 11:22 [PULL 00/35] Testing, docs, semihosting and plugin updates Alex Bennée
2023-01-26 11:22 ` Alex Bennée [this message]
2023-01-26 11:22 ` [PULL 02/35] gitlab: add FF_SCRIPT_SECTIONS for timings Alex Bennée
2023-01-26 11:22 ` [PULL 03/35] gitlab: just use plain --cc=clang for custom runner build Alex Bennée
2023-01-26 11:22 ` [PULL 04/35] tests/unit: drop hacky race avoidance in test-io-channel-command Alex Bennée
2023-02-06 12:27   ` Philippe Mathieu-Daudé
2023-02-06 13:11     ` Alex Bennée
2023-02-06 13:22       ` Philippe Mathieu-Daudé
2023-01-26 11:22 ` [PULL 05/35] build-sys: fix crlf-ending C code Alex Bennée
2023-01-26 11:22 ` [PULL 06/35] .gitlab-ci.d/windows: do not disable opengl Alex Bennée
2023-01-26 11:22 ` [PULL 07/35] meson: replace Perl usage with Python Alex Bennée
2023-01-26 11:22 ` [PULL 08/35] docs: drop texinfo options Alex Bennée
2023-01-26 11:22 ` [PULL 09/35] gitlab: add lsan suppression file to workaround tcmalloc issues Alex Bennée
2023-01-26 11:22 ` [PULL 10/35] Update lcitool and fedora to 37 Alex Bennée
2023-01-26 11:22 ` [PULL 11/35] lcitool: drop perl from QEMU project/dependencies Alex Bennée
2023-01-26 11:22 ` [PULL 12/35] lcitool: drop texinfo " Alex Bennée
2023-01-26 11:22 ` [PULL 13/35] tests/docker: Install flex in debian-tricore-cross Alex Bennée
2023-01-26 11:22 ` [PULL 14/35] tests/docker: drop debian-tricore-cross's partial status Alex Bennée
2023-01-26 11:22 ` [PULL 15/35] tests/tcg: skip the vma-pthread test on CI Alex Bennée
2023-01-26 11:22 ` [PULL 16/35] tests/tcg: Use SIGKILL for timeout Alex Bennée
2023-01-26 11:22 ` [PULL 17/35] gitlab: wrap up test results for custom runners Alex Bennée
2023-01-26 11:22 ` [PULL 18/35] MAINTAINERS: Fix the entry for tests/tcg/nios2 Alex Bennée
2023-01-26 11:22 ` [PULL 19/35] docs: add hotlinks to about preface text Alex Bennée
2023-01-26 11:22 ` [PULL 20/35] docs: add a new section to outline emulation support Alex Bennée
2023-01-26 11:22 ` [PULL 21/35] semihosting: add semihosting section to the docs Alex Bennée
2023-01-26 11:22 ` [PULL 22/35] docs: add an introduction to the system docs Alex Bennée
2023-01-26 11:22 ` [PULL 23/35] semihosting: Write back semihosting data before completion callback Alex Bennée
2023-01-26 11:22 ` [PULL 24/35] semihosting: add O_BINARY flag in host_open for NT compatibility Alex Bennée
2023-01-26 11:22 ` [PULL 25/35] tests/tcg: add memory-sve test for aarch64 Alex Bennée
2023-01-26 11:22 ` [PULL 26/35] cpu: free cpu->tb_jmp_cache with RCU Alex Bennée
2023-01-26 11:22 ` [PULL 27/35] util/qht: add missing atomic_set(hashes[i]) Alex Bennée
2023-01-26 11:22 ` [PULL 28/35] thread: de-const qemu_spin_destroy Alex Bennée
2023-01-26 11:22 ` [PULL 29/35] util/qht: use striped locks under TSAN Alex Bennée
2023-01-26 11:22 ` [PULL 30/35] plugins: make qemu_plugin_user_exit's locking order consistent with fork_start's Alex Bennée
2023-01-26 11:22 ` [PULL 31/35] plugins: fix optimization in plugin_gen_disable_mem_helpers Alex Bennée
2023-01-26 11:22 ` [PULL 32/35] translator: always pair plugin_gen_insn_{start, end} calls Alex Bennée
2023-01-26 11:22 ` [PULL 33/35] tcg: exclude non-memory effecting helpers from instrumentation Alex Bennée
2023-01-26 11:22 ` [PULL 34/35] cpu-exec: assert that plugin_mem_cbs is NULL after execution Alex Bennée
2023-01-26 11:22 ` [PULL 35/35] plugins: Iterate on cb_lists in qemu_plugin_user_exit Alex Bennée
2023-02-01 16:15 ` [PULL 00/35] Testing, docs, semihosting and plugin updates Peter Maydell
2023-02-01 18:06   ` Alex Bennée
2023-02-02 10:50     ` Peter Maydell
2023-02-02 17:12       ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230126112250.2584701-2-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=bleal@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.