Skip to content

Commit 5337418

Browse files
committed
Run roles only if changes detected, add new roles
1 parent 61b4e1d commit 5337418

File tree

7 files changed

+38
-11
lines changed

7 files changed

+38
-11
lines changed

.github/workflows/deploy.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,16 @@ jobs:
7676
- 'ansible/roles/**'
7777
list-files: json
7878

79-
- name: Log roles_files output
79+
- name: Get changed roles
80+
id: roles
81+
if: ${{ steps.filter.outputs.roles == 'true' }}
8082
run: |
81-
echo "roles_files=${{ steps.filter.outputs.roles_files }}" >> $GITHUB_OUTPUT
83+
changed_roles=$(echo ${{ steps.filter.outputs.roles_files }} | jq -r '[.[] | split("/")[2]] | sort | unique | join(",")'
84+
echo "Changed roles: $changed_roles"
85+
echo "changed_roles=$changed_roles" >> $GITHUB_OUTPUT
8286
8387
- name: Run ansible
88+
if: ${{ steps.filter.outputs.roles == 'true' }}
8489
uses: dawidd6/action-ansible-playbook@v2.8.0
8590
env:
8691
ANSIBLE_TIMEOUT: 60
@@ -90,3 +95,4 @@ jobs:
9095
key: ${{ secrets.SSH_PRIV_KEY }}
9196
options: |
9297
--inventory inventory_digitalocean.yaml
98+
--tags "${{ steps.roles.outputs.changed_roles }}"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env bash
2+
3+
echo "test"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
- name: Copy script to remote server
2+
ansible.builtin.copy:
3+
src: files/backup-to-digitalocean-bucket.sh
4+
dest: /usr/local/bin/mongo-backup/
5+
owner: ubuntu
6+
mode: "0700"
7+
8+
- name: Copy python scripts to remote server
9+
ansible.builtin.copy:
10+
src: "{{ item }}"
11+
dest: /etc/systemd/system/
12+
owner: ubuntu
13+
mode: "0644"
14+
with_fileglob:
15+
- "files/mongo-backup*"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
- name: Copy python scripts to remote server
2+
ansible.builtin.copy:
3+
src: "{{ item }}"
4+
dest: /home/ubuntu/
5+
owner: ubuntu
6+
mode: "0664"
7+
with_fileglob:
8+
- "files/*.py"

ansible/setup.yaml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,7 @@
66
tags: [base]
77
- role: mongo
88
tags: [mongo]
9-
tasks:
10-
- name: Copy python scripts to remote server
11-
ansible.builtin.copy:
12-
src: "{{ item }}"
13-
dest: /home/ubuntu/
14-
owner: ubuntu
15-
mode: "0664"
16-
with_fileglob:
17-
- "../wikipedia-mongodb-seeder/*.py"
9+
- role: mongo-backup-service
10+
tags: [mongo-backup-service]
11+
- role: wikipedia-mongodb-seeder
12+
tags: [wikipedia-mongodb-seeder]

0 commit comments

Comments
 (0)