File tree Expand file tree Collapse file tree 2 files changed +47
-1
lines changed Expand file tree Collapse file tree 2 files changed +47
-1
lines changed Original file line number Diff line number Diff line change @@ -30,11 +30,24 @@ jobs:
30
30
username : ci
31
31
privateKey : ${{ secrets.CI_SSH_KEY }}
32
32
33
+ - name : Copy runner wrapper file to remote server
34
+ uses :
garygrossgarten/[email protected]
35
+ with :
36
+ local : website/scripts/runner.sh
37
+ remote : /var/www/core-js/runner.sh
38
+ host : ${{ secrets.REMOTE_HOST }}
39
+ username : ci
40
+ privateKey : ${{ secrets.CI_SSH_KEY }}
41
+
42
+ - name : Make runner.sh executable on remote
43
+ run : |
44
+ ssh -o StrictHostKeyChecking=no ci@host "chmod +x /var/www/core-js/runner.sh"
45
+
33
46
- name : Setup SSH
34
47
uses :
webfactory/[email protected]
35
48
with :
36
49
ssh-private-key : ${{ secrets.CI_SSH_KEY }}
37
50
38
51
- name : Run node runner.mjs on remote server
39
52
run : |
40
- ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "cd /var/www/core-js/ && node runner.mjs "
53
+ ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "cd /var/www/core-js/ && ./ runner.sh "
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ LOCK_FILE=./runner.lock
3
+ PID_FILE=./runner.pid
4
+
5
+ lock_acquired=false
6
+
7
+ for i in {1..60}; do
8
+ if ln -s " $$ " " $LOCK_FILE " 2> /dev/null; then
9
+ lock_acquired=true
10
+ break
11
+ else
12
+ echo " Another process running, waiting..."
13
+ sleep 5
14
+ fi
15
+ done
16
+
17
+ if ! $lock_acquired ; then
18
+ echo " Timeout waiting for lock! Exiting."
19
+ exit 1
20
+ fi
21
+
22
+ echo " $$ " > " $PID_FILE "
23
+
24
+ cleanup () {
25
+ echo " Cleaning up..."
26
+ rm -f " $LOCK_FILE " " $PID_FILE "
27
+ }
28
+ trap cleanup EXIT
29
+
30
+ node ./runner.mjs
31
+ EXIT_CODE=$?
32
+
33
+ exit $EXIT_CODE
You can’t perform that action at this time.
0 commit comments