Skip to content

Commit d211e4b

Browse files
committed
Reuse common logic in workflows
1 parent 27d9644 commit d211e4b

File tree

3 files changed

+64
-70
lines changed

3 files changed

+64
-70
lines changed

.github/workflows/build-web-for-branch.yml

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
workflow_dispatch:
88

99
jobs:
10-
run-on-server:
10+
prepare:
1111
runs-on: ubuntu-latest
1212

1313
steps:
@@ -21,42 +21,15 @@ jobs:
2121
with:
2222
ref: ${{ steps.extract_branch.outputs.branch }}
2323

24-
- name: Copy runner file to remote server
25-
uses: garygrossgarten/github-action-scp@0.9.0
26-
with:
27-
local: website/scripts/runner.mjs
28-
remote: /var/www/core-js/runner.mjs
29-
host: ${{ secrets.REMOTE_HOST }}
30-
username: ci
31-
privateKey: ${{ secrets.CI_SSH_KEY }}
32-
33-
- name: Copy runner wrapper file to remote server
34-
uses: garygrossgarten/github-action-scp@0.9.0
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: Copy runner helpers file to remote server
43-
uses: garygrossgarten/github-action-scp@0.9.0
44-
with:
45-
local: website/scripts/helpers.mjs
46-
remote: /var/www/core-js/helpers.mjs
47-
host: ${{ secrets.REMOTE_HOST }}
48-
username: ci
49-
privateKey: ${{ secrets.CI_SSH_KEY }}
24+
upload-website-builder:
25+
uses: ./.github/workflows/upload-web-builder.yml
26+
needs: prepare
5027

51-
- name: Setup SSH
52-
uses: webfactory/ssh-agent@v0.9.1
53-
with:
54-
ssh-private-key: ${{ secrets.CI_SSH_KEY }}
55-
56-
- name: Make runner.sh executable on remote
57-
run: |
58-
ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "chmod +x /var/www/core-js/runner.sh"
28+
run-builder:
29+
runs-on: ubuntu-latest
30+
needs: [prepare, upload-website-builder]
5931

32+
steps:
6033
- name: Run node runner.mjs on remote server
6134
run: |
6235
ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "cd /var/www/core-js/ && ./runner.sh ${{ steps.extract_branch.outputs.branch }}"

.github/workflows/build-web.yml

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,41 +21,8 @@ jobs:
2121
with:
2222
ref: ${{ steps.extract_branch.outputs.branch }}
2323

24-
- name: Copy runner file to remote server
25-
uses: garygrossgarten/github-action-scp@0.9.0
26-
with:
27-
local: website/scripts/runner.mjs
28-
remote: /var/www/core-js/runner.mjs
29-
host: ${{ secrets.REMOTE_HOST }}
30-
username: ci
31-
privateKey: ${{ secrets.CI_SSH_KEY }}
32-
33-
- name: Copy runner wrapper file to remote server
34-
uses: garygrossgarten/github-action-scp@0.9.0
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: Copy runner helpers file to remote server
43-
uses: garygrossgarten/github-action-scp@0.9.0
44-
with:
45-
local: website/scripts/helpers.mjs
46-
remote: /var/www/core-js/helpers.mjs
47-
host: ${{ secrets.REMOTE_HOST }}
48-
username: ci
49-
privateKey: ${{ secrets.CI_SSH_KEY }}
50-
51-
- name: Setup SSH
52-
uses: webfactory/ssh-agent@v0.9.1
53-
with:
54-
ssh-private-key: ${{ secrets.CI_SSH_KEY }}
55-
56-
- name: Make runner.sh executable on remote
57-
run: |
58-
ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "chmod +x /var/www/core-js/runner.sh"
24+
- name: Upload website builder
25+
uses: ./.github/workflows/upload-web-builder.yml
5926

6027
- name: Run node runner.mjs on remote server
6128
run: |
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Upload website builder
2+
3+
on: workflow_call
4+
5+
jobs:
6+
run-on-server:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Extract branch name
11+
shell: bash
12+
run: echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT
13+
id: extract_branch
14+
15+
- name: Checkout code
16+
uses: actions/checkout@v5
17+
with:
18+
ref: ${{ steps.extract_branch.outputs.branch }}
19+
20+
- name: Copy runner file to remote server
21+
uses: garygrossgarten/github-action-scp@0.9.0
22+
with:
23+
local: website/scripts/runner.mjs
24+
remote: /var/www/core-js/runner.mjs
25+
host: ${{ secrets.REMOTE_HOST }}
26+
username: ci
27+
privateKey: ${{ secrets.CI_SSH_KEY }}
28+
29+
- name: Copy runner wrapper file to remote server
30+
uses: garygrossgarten/github-action-scp@0.9.0
31+
with:
32+
local: website/scripts/runner.sh
33+
remote: /var/www/core-js/runner.sh
34+
host: ${{ secrets.REMOTE_HOST }}
35+
username: ci
36+
privateKey: ${{ secrets.CI_SSH_KEY }}
37+
38+
- name: Copy runner helpers file to remote server
39+
uses: garygrossgarten/github-action-scp@0.9.0
40+
with:
41+
local: website/scripts/helpers.mjs
42+
remote: /var/www/core-js/helpers.mjs
43+
host: ${{ secrets.REMOTE_HOST }}
44+
username: ci
45+
privateKey: ${{ secrets.CI_SSH_KEY }}
46+
47+
- name: Setup SSH
48+
uses: webfactory/ssh-agent@v0.9.1
49+
with:
50+
ssh-private-key: ${{ secrets.CI_SSH_KEY }}
51+
52+
- name: Make runner.sh executable on remote
53+
run: |
54+
ssh -o StrictHostKeyChecking=no ci@${{ secrets.REMOTE_HOST }} "chmod +x /var/www/core-js/runner.sh"

0 commit comments

Comments
 (0)