Skip to content

Commit 712f3c8

Browse files
committed
Test ansible scripts with default linter
We use the github action runner as the machine to test against. The connection is local instead of ssh to make this simpler. The used credentials are default and insecure. Default we now assume machines without GDM to configure
1 parent e408210 commit 712f3c8

File tree

5 files changed

+37
-0
lines changed

5 files changed

+37
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Test contest deployment (ansible scripts)
2+
3+
on: [push,pull_request]
4+
5+
jobs:
6+
test_domjudge_role:
7+
strategy:
8+
#matrix:
9+
# os: [ubuntu-latest, ubuntu-20.04]
10+
# role: [domserver,judgehost]
11+
matrix:
12+
os: [ubuntu-latest]
13+
role: [domserver]
14+
runs-on: ${{ matrix.os }}
15+
steps:
16+
- name: Checkout repo
17+
uses: actions/checkout@v2
18+
- name: Install ansible lint tools
19+
run: sudo apt update; sudo apt install ansible
20+
- name: Setup the hosts file
21+
working-directory: ./icpc-wf/ansible
22+
run: sed -i 's/\[${{ matrix.role }}\]/[removed]/g' hosts; printf '\n[${{ matrix.role }}]\ngithub-action\tansible_host=localhost ansible_connection=local' >> hosts
23+
- name: Generate insecure credentials
24+
working-directory: ./icpc-wf/ansible
25+
run: mv group_vars/all/secret.yml{.example,}
26+
- name: Run the default deployment method
27+
working-directory: ./icpc-wf/ansible
28+
run: make ${{ matrix.role }}

icpc-wf/ansible/group_vars/all/all.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ DOMSERVER_URL: "{{DOMSERVER}}"
1818
DOMSERVER_SSL_CERT: /etc/ssl/certs/domserver.crt
1919
DOMSERVER_SSL_KEY: /etc/ssl/private/domserver.key
2020

21+
# Set this to true when you are using an image with a graphical desktop
22+
GRAPHICAL: false
23+
2124
# Set this to true when you are using the ICPC World Finals Contest Image
2225
ICPC_IMAGE: false
2326

icpc-wf/ansible/judgehost.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,14 @@
4141
tags: prometheus_target_all
4242
when: GRAFANA_MONITORING
4343
pre_tasks:
44+
- name: Get current services
45+
service_facts:
4446
- name: Disable all cores
4547
service:
4648
name="domjudge-judgedaemon@{{item}}"
4749
state=stopped
4850
with_sequence: start=0 end={{ ansible_processor_vcpus }} format=domjudge-judgedaemon@%1x
51+
when: '"[email protected]" in services'
4952
tasks:
5053
- name: add autostart shortcuts
5154
template:

icpc-wf/ansible/roles/domjudge_user/tasks/main.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@
4343
line: 'AutomaticLoginEnable=true'
4444
create: yes
4545
notify: restart gdm
46+
when: GRAPHICAL
4647

4748
- name: Automatically login domjudge user
4849
lineinfile:
4950
path: /etc/gdm3/custom.conf
5051
regexp: 'AutomaticLogin='
5152
line: 'AutomaticLogin=domjudge'
5253
notify: restart gdm
54+
when: GRAPHICAL
5355

5456
- name: make sure autostart directory exists
5557
file: dest=/home/domjudge/.config/autostart state=directory owner=domjudge group=domjudge

icpc-wf/ansible/roles/system_fixes/tasks/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@
2828
- name: Force enable alt-tab for switching windows
2929
copy: src=dconf/ dest=/etc/dconf/
3030
notify: update dconf
31+
when: GRAPHICAL

0 commit comments

Comments
 (0)