-
Notifications
You must be signed in to change notification settings - Fork 22
41 lines (41 loc) · 1.49 KB
/
update-all-sites.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: Update All Sites
on:
workflow_dispatch:
push:
branches:
- master
paths-ignore:
- '**/README.md'
- '**/TESTING.md'
- 'docs/**'
jobs:
update_all_sites:
name: Update all sites
runs-on: ubuntu-22.04
steps:
- name: Setup ssh access
run: |
set -x
mkdir -p ~/.ssh
eval `ssh-agent -s`
ssh-add - <<< "${{ secrets.UPDATE_ALL_SITES_PRIVATE_KEY}}"
ssh-keyscan ${{ secrets.ONBOARDING_HOST }}>> ~/.ssh/known_hosts
- name: Pull new site
run: |
set -x
eval `ssh-agent -s`
ssh-add - <<< "${{ secrets.UPDATE_ALL_SITES_PRIVATE_KEY}}"
cat << EOF > update-requirements.sh
cd ${{ secrets.SHAREDREPO_PATH }}
. venv/bin/activate
pip install -r requirements.txt
EOF
scp update-requirements.sh ${{ secrets.ONBOARDING_USER }}@${{ secrets.ONBOARDING_HOST }}:~/
ssh ${{ secrets.ONBOARDING_USER }}@${{ secrets.ONBOARDING_HOST }} -C "bash update-requirements.sh"
ssh ${{ secrets.ONBOARDING_USER }}@${{ secrets.ONBOARDING_HOST }} -C "cd ${{ secrets.SHAREDREPO_PATH }}; git fetch; git rebase origin/master;"
- name: Reload all uwsgi vassals, one by one
run: |
set -x
eval `ssh-agent -s`
ssh-add - <<< "${{ secrets.UPDATE_ALL_SITES_PRIVATE_KEY}}"
ssh ${{ secrets.ONBOARDING_USER }}@${{ secrets.ONBOARDING_HOST }} -C "cd ${{ secrets.ALL_SITES_PATH }}; find . -maxdepth 2 -mindepth 2 -name '*.ini' -exec touch '{}' +"