Skip to content

Commit 75ae9e5

Browse files
Merge pull request #220 from MonolithProjects/develop
Develop to Master
2 parents 68d961c + fe97ec3 commit 75ae9e5

File tree

5 files changed

+65
-4
lines changed

5 files changed

+65
-4
lines changed

molecule/default/converge.yml

+23
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,26 @@
1919
roles:
2020
- robertdebock.epel
2121
- monolithprojects.github_actions_runner
22+
23+
# Run the playbook again with different labels to test
24+
- name: Dev test playbook second run
25+
user: ansible
26+
hosts: all
27+
gather_facts: yes
28+
become: yes
29+
vars:
30+
runner_user: ansible
31+
github_repo: "{{ lookup('env', 'GITHUB_REPO') }}"
32+
github_account: "{{ lookup('env', 'GITHUB_ACCOUNT') }}"
33+
runner_version: "latest"
34+
runner_name: test_name
35+
runner_on_ghes: yes
36+
reinstall_runner: false
37+
hide_sensitive_logs: no
38+
runner_labels:
39+
- label1
40+
- repo-runner
41+
- label2
42+
roles:
43+
- robertdebock.epel
44+
- monolithprojects.github_actions_runner

molecule/default/verify.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@
3737

3838
- name: Check Labels (skipped if labels are OK)
3939
ansible.builtin.fail:
40-
msg: Woops some labels differ "{{ (registered_runners.json.runners.0 | json_query('labels[*].name') | difference(['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner'])) }}"
41-
when: not (registered_runners.json.runners.0 | json_query('labels[*].name') | list ) == (['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner'] | list)
40+
msg: Woops some labels differ "{{ (registered_runners.json.runners.0 | json_query('labels[*].name') | difference(['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner', 'label2'])) }}"
41+
when: not (registered_runners.json.runners.0 | json_query('labels[*].name') | list ) == (['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner', 'label2'] | list)

molecule/repo/converge.yml

+19
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,22 @@
1515
roles:
1616
- robertdebock.epel
1717
- monolithprojects.github_actions_runner
18+
19+
# Run the playbook again with different labels to test
20+
- name: Update Repo runner
21+
user: ansible
22+
hosts: all
23+
gather_facts: yes
24+
become: yes
25+
vars:
26+
runner_user: ansible
27+
github_repo: "{{ lookup('env', 'GITHUB_REPO') }}"
28+
github_account: "{{ lookup('env', 'GITHUB_ACCOUNT') }}"
29+
runner_version: "latest"
30+
runner_labels:
31+
- label1
32+
- repo-runner
33+
- label2
34+
roles:
35+
- robertdebock.epel
36+
- monolithprojects.github_actions_runner

molecule/repo/verify.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,5 @@
3636

3737
- name: Check Labels (skipped if labels are OK)
3838
ansible.builtin.fail:
39-
msg: Woops some labels differ "{{ (registered_runners.json.runners.0 | json_query('labels[*].name') | difference(['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner'])) }}"
40-
when: not (registered_runners.json.runners.0 | json_query('labels[*].name') | list ) == (['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner'] | list)
39+
msg: Woops some labels differ "{{ (registered_runners.json.runners.0 | json_query('labels[*].name') | difference(['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner', 'label2'])) }}"
40+
when: not (registered_runners.json.runners.0 | json_query('labels[*].name') | list ) == (['self-hosted', 'Linux', 'X64', 'label1', 'repo-runner', 'label2'] | list)

tasks/install_runner.yml

+19
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,25 @@
8383
no_log: "{{ hide_sensitive_logs | bool }}"
8484
when: runner_name not in registered_runners.json.runners|map(attribute='name')|list
8585

86+
- name: Update runner labels if changed
87+
ansible.builtin.uri:
88+
url: "{{ github_full_api_url }}/{{ (registered_runners.json.runners | selectattr('name', 'equalto', runner_name) | first).id }}/labels"
89+
headers:
90+
Authorization: "Bearer {{ access_token }}"
91+
Accept: "application/vnd.github+json"
92+
method: PUT
93+
body_format: json
94+
body:
95+
labels: "{{ runner_labels }}"
96+
status_code: 200
97+
force_basic_auth: true
98+
when:
99+
- runner_name in registered_runners.json.runners|map(attribute='name')|list
100+
- (runner_labels | sort) != (registered_runners.json.runners | selectattr('name', 'equalto', runner_name) | first).labels |
101+
selectattr('type', 'equalto', 'custom') |
102+
map(attribute='name') |
103+
list
104+
86105
- name: Replace registered runner # noqa no-changed-when
87106
environment:
88107
RUNNER_ALLOW_RUNASROOT: "1"

0 commit comments

Comments
 (0)