From 9a98abc686c2499db42075c22898baad2d20f50d Mon Sep 17 00:00:00 2001 From: HugoPuntos Date: Mon, 6 Feb 2023 13:21:36 +0100 Subject: [PATCH 1/4] Revert "Set proper homebrew path for OS X ARM variant" This reverts commit b33f2dabfbf78ade7cc9e5ad8438e20f64f686e5. --- vars/Darwin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/Darwin.yml b/vars/Darwin.yml index a910078..ae22e2d 100644 --- a/vars/Darwin.yml +++ b/vars/Darwin.yml @@ -4,4 +4,4 @@ gitlab_runner_arch: "{{ (ansible_machine == 'arm64') | ternary('arm64', 'amd64') gitlab_runner_download_url: 'https://gitlab-runner-downloads.s3.amazonaws.com/{{ gitlab_runner_wanted_tag }}/binaries/gitlab-runner-darwin-{{ gitlab_runner_arch }}' -gitlab_runner_executable: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}/bin/{{ gitlab_runner_package_name }}" +gitlab_runner_executable: "/usr/local/bin/{{ gitlab_runner_package_name }}" From 4021ae7f0a1a37ab3c78d8b010de35891feb807f Mon Sep 17 00:00:00 2001 From: HugoPuntos Date: Mon, 6 Feb 2023 13:22:43 +0100 Subject: [PATCH 2/4] Install gitlab-runner in /usr/local/bin for macOS ARM instances --- tasks/install-macos.yml | 30 ++++++++++++++++++------------ vars/Darwin.yml | 3 ++- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/tasks/install-macos.yml b/tasks/install-macos.yml index 751f943..bd6106e 100644 --- a/tasks/install-macos.yml +++ b/tasks/install-macos.yml @@ -20,27 +20,33 @@ set_fact: gitlab_runner_existing_version: "{{ existing_version_shell.stdout if existing_version_shell.rc == 0 else '0' }}" -- name: (MacOS) Precreate gitlab-runner log directory - become: yes - file: - path: /usr/local/var/log - state: directory - owner: "{{ ansible_user_id | string }}" +- name: (MacOS) Precreate necessary directories for arm64 architecture + block: + - name: (MacOS) Precreate gitlab-runner log directory + become: yes + file: + path: /usr/local/var/log + state: directory + owner: "{{ ansible_user_id | string }}" + + - name: (MacOS) Precreate {{ gitlab_runner_directory }} directory + become: yes + file: + mode: "755" + owner: "root" + path: "{{ gitlab_runner_directory }}" + state: "directory" + when: gitlab_runner_arch == 'arm64' - name: (MacOS) INSTALL GitLab Runner for macOS block: - name: (MacOS) Download GitLab Runner + become: true get_url: url: "{{ gitlab_runner_download_url }}" dest: "{{ gitlab_runner_executable }}" force: yes - - - name: (MacOS) Setting Permissions for gitlab-runner executable - file: - path: "{{ gitlab_runner_executable }}" - owner: "{{ ansible_user_id | string }}" - group: "{{ ansible_user_gid | string }}" mode: '+x' - name: (MacOS) Install GitLab Runner diff --git a/vars/Darwin.yml b/vars/Darwin.yml index ae22e2d..65b8fc6 100644 --- a/vars/Darwin.yml +++ b/vars/Darwin.yml @@ -4,4 +4,5 @@ gitlab_runner_arch: "{{ (ansible_machine == 'arm64') | ternary('arm64', 'amd64') gitlab_runner_download_url: 'https://gitlab-runner-downloads.s3.amazonaws.com/{{ gitlab_runner_wanted_tag }}/binaries/gitlab-runner-darwin-{{ gitlab_runner_arch }}' -gitlab_runner_executable: "/usr/local/bin/{{ gitlab_runner_package_name }}" +gitlab_runner_directory: "/usr/local/bin" +gitlab_runner_executable: "{{ gitlab_runner_directory }}/{{ gitlab_runner_package_name }}" From 397100a956ed92846c8f3e1c6f5b7e1b8757ec9b Mon Sep 17 00:00:00 2001 From: HugoPuntos Date: Mon, 6 Feb 2023 13:45:08 +0100 Subject: [PATCH 3/4] Use the same indentation for block tasks --- tasks/config-runners-windows.yml | 50 ++++++++++++++++---------------- tasks/install-macos.yml | 32 ++++++++++---------- tasks/install-windows.yml | 32 ++++++++++---------- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/tasks/config-runners-windows.yml b/tasks/config-runners-windows.yml index f4ebaf8..959657c 100644 --- a/tasks/config-runners-windows.yml +++ b/tasks/config-runners-windows.yml @@ -32,33 +32,33 @@ - name: (Windows) Assemble new config.toml when: not ansible_check_mode block: - - name: (Windows) Create temporary file config.toml - win_tempfile: - state: file - suffix: temp - register: config_toml_temp + - name: (Windows) Create temporary file config.toml + win_tempfile: + state: file + suffix: temp + register: config_toml_temp - - name: (Windows) Write global config to file - win_lineinfile: - insertbefore: BOF - path: "{{ config_toml_temp.path }}" - line: "{{ runner_global_config }}" + - name: (Windows) Write global config to file + win_lineinfile: + insertbefore: BOF + path: "{{ config_toml_temp.path }}" + line: "{{ runner_global_config }}" - - name: (Windows) Create temporary file runners-config.toml - win_tempfile: - state: file - suffix: temp - register: runners_config_toml_temp + - name: (Windows) Create temporary file runners-config.toml + win_tempfile: + state: file + suffix: temp + register: runners_config_toml_temp - - name: (Windows) Assemble runners files in config dir - win_shell: dir -rec | gc | out-file "{{ runners_config_toml_temp.path }}" - args: - chdir: "{{ temp_runner_config_dir.path }}" + - name: (Windows) Assemble runners files in config dir + win_shell: dir -rec | gc | out-file "{{ runners_config_toml_temp.path }}" + args: + chdir: "{{ temp_runner_config_dir.path }}" - - name: (Windows) Assemble new config.toml - win_shell: gc "{{ config_toml_temp.path }}","{{ runners_config_toml_temp.path }}" | Set-Content "{{ gitlab_runner_config_file }}" + - name: (Windows) Assemble new config.toml + win_shell: gc "{{ config_toml_temp.path }}","{{ runners_config_toml_temp.path }}" | Set-Content "{{ gitlab_runner_config_file }}" - - name: (Windows) Verify config - win_command: "{{ gitlab_runner_executable }} verify" - args: - chdir: "{{ gitlab_runner_config_file_location }}" \ No newline at end of file + - name: (Windows) Verify config + win_command: "{{ gitlab_runner_executable }} verify" + args: + chdir: "{{ gitlab_runner_config_file_location }}" diff --git a/tasks/install-macos.yml b/tasks/install-macos.yml index bd6106e..5b345ff 100644 --- a/tasks/install-macos.yml +++ b/tasks/install-macos.yml @@ -1,24 +1,24 @@ - name: (MacOS) PRE-CHECK GitLab Runner exists block: - - name: (MacOS) Check gitlab-runner executable exists - stat: - path: "{{ gitlab_runner_executable }}" - register: gitlab_runner_exists + - name: (MacOS) Check gitlab-runner executable exists + stat: + path: "{{ gitlab_runner_executable }}" + register: gitlab_runner_exists - - name: (MacOS) Set fact -> gitlab_runner_exists - set_fact: - gitlab_runner_exists: "{{ gitlab_runner_exists.stat.exists }}" + - name: (MacOS) Set fact -> gitlab_runner_exists + set_fact: + gitlab_runner_exists: "{{ gitlab_runner_exists.stat.exists }}" - - name: (MacOS) Get existing version - shell: "{{ gitlab_runner_executable }} --version | awk '/Version: ([\\d\\.]*)/{print $2}'" - register: existing_version_shell - failed_when: no - check_mode: no - changed_when: no + - name: (MacOS) Get existing version + shell: "{{ gitlab_runner_executable }} --version | awk '/Version: ([\\d\\.]*)/{print $2}'" + register: existing_version_shell + failed_when: no + check_mode: no + changed_when: no - - name: (MacOS) Set fact -> gitlab_runner_existing_version - set_fact: - gitlab_runner_existing_version: "{{ existing_version_shell.stdout if existing_version_shell.rc == 0 else '0' }}" + - name: (MacOS) Set fact -> gitlab_runner_existing_version + set_fact: + gitlab_runner_existing_version: "{{ existing_version_shell.stdout if existing_version_shell.rc == 0 else '0' }}" - name: (MacOS) Precreate necessary directories for arm64 architecture block: diff --git a/tasks/install-windows.yml b/tasks/install-windows.yml index d1b4763..8ce7bd9 100644 --- a/tasks/install-windows.yml +++ b/tasks/install-windows.yml @@ -1,24 +1,24 @@ - name: (Windows) PRE-CHECK GitLab Runner exists block: - - name: (Windows) Check gitlab-runner executable exists - win_stat: - path: "{{ gitlab_runner_executable }}" - register: gitlab_runner_exists + - name: (Windows) Check gitlab-runner executable exists + win_stat: + path: "{{ gitlab_runner_executable }}" + register: gitlab_runner_exists - - name: (Windows) Set fact -> gitlab_runner_exists - set_fact: - gitlab_runner_exists: "{{ gitlab_runner_exists.stat.exists }}" + - name: (Windows) Set fact -> gitlab_runner_exists + set_fact: + gitlab_runner_exists: "{{ gitlab_runner_exists.stat.exists }}" - - name: (Windows) Get existing version - win_shell: "{{ gitlab_runner_executable }} --version | Select-String 'Version:' -CaseSensitive | %{ $_.Line.Split(' ')[-1].Trim(); }" - register: existing_version_shell - failed_when: no - check_mode: no - changed_when: no + - name: (Windows) Get existing version + win_shell: "{{ gitlab_runner_executable }} --version | Select-String 'Version:' -CaseSensitive | %{ $_.Line.Split(' ')[-1].Trim(); }" + register: existing_version_shell + failed_when: no + check_mode: no + changed_when: no - - name: (Windows) Set fact -> gitlab_runner_existing_version - set_fact: - gitlab_runner_existing_version: "{{ existing_version_shell.stdout | trim if existing_version_shell.rc == 0 else '0' }}" + - name: (Windows) Set fact -> gitlab_runner_existing_version + set_fact: + gitlab_runner_existing_version: "{{ existing_version_shell.stdout | trim if existing_version_shell.rc == 0 else '0' }}" - name: (Windows) INSTALL GitLab Runner for Windows block: From 30bdf0693028dbf35adfa498f1b161e31665a416 Mon Sep 17 00:00:00 2001 From: HugoPuntos Date: Thu, 23 Feb 2023 11:57:16 +0100 Subject: [PATCH 4/4] Set changed_when to false for Unhold GitLab Runner version task --- tasks/install-debian.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/install-debian.yml b/tasks/install-debian.yml index dd25490..b2200e7 100644 --- a/tasks/install-debian.yml +++ b/tasks/install-debian.yml @@ -26,6 +26,7 @@ when: gitlab_runner_package_version is not defined - name: (Debian) Unhold GitLab Runner version + changed_when: false dpkg_selections: name: "{{ gitlab_runner_package_name }}" selection: install