Skip to content

Commit b5edf7b

Browse files
committed
feat: add website sources to github
1 parent 528a86c commit b5edf7b

5 files changed

Lines changed: 742 additions & 0 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Deploy website
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- website/**
9+
- .github/workflows/deploy-website.yml
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
15+
concurrency:
16+
group: deploy-website
17+
cancel-in-progress: false
18+
19+
jobs:
20+
deploy:
21+
name: Deploy website
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout website
25+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
26+
with:
27+
persist-credentials: false
28+
29+
- name: Configure SSH
30+
env:
31+
WEBSITE_SSH_KEY: ${{ secrets.WEBSITE_SSH_KEY }}
32+
WEBSITE_SSH_KNOWN_HOSTS: ${{ secrets.WEBSITE_SSH_KNOWN_HOSTS }}
33+
run: |
34+
set -euo pipefail
35+
36+
if [ -z "${WEBSITE_SSH_KEY}" ]; then
37+
echo "Missing WEBSITE_SSH_KEY secret" >&2
38+
exit 1
39+
fi
40+
41+
if [ -z "${WEBSITE_SSH_KNOWN_HOSTS}" ]; then
42+
echo "Missing WEBSITE_SSH_KNOWN_HOSTS secret" >&2
43+
exit 1
44+
fi
45+
46+
install -m 700 -d ~/.ssh
47+
printf '%s\n' "${WEBSITE_SSH_KEY}" > ~/.ssh/deploy_key
48+
chmod 600 ~/.ssh/deploy_key
49+
printf '%s\n' "${WEBSITE_SSH_KNOWN_HOSTS}" > ~/.ssh/known_hosts
50+
chmod 600 ~/.ssh/known_hosts
51+
52+
- name: Deploy with rsync
53+
env:
54+
WEBSITE_SSH_HOST: ${{ secrets.WEBSITE_SSH_HOST }}
55+
WEBSITE_SSH_PORT: ${{ secrets.WEBSITE_SSH_PORT || '22' }}
56+
WEBSITE_SSH_USER: ${{ secrets.WEBSITE_SSH_USER }}
57+
WEBSITE_DEPLOY_PATH: ${{ secrets.WEBSITE_DEPLOY_PATH }}
58+
run: |
59+
set -euo pipefail
60+
61+
for variable in WEBSITE_SSH_HOST WEBSITE_SSH_PORT WEBSITE_SSH_USER WEBSITE_DEPLOY_PATH; do
62+
if [ -z "${!variable}" ]; then
63+
echo "Missing ${variable} secret" >&2
64+
exit 1
65+
fi
66+
done
67+
68+
ssh -i ~/.ssh/deploy_key \
69+
-p "${WEBSITE_SSH_PORT}" \
70+
-o IdentitiesOnly=yes \
71+
-o StrictHostKeyChecking=yes \
72+
"${WEBSITE_SSH_USER}@${WEBSITE_SSH_HOST}" \
73+
"mkdir -p '${WEBSITE_DEPLOY_PATH}'"
74+
75+
rsync -az --delete \
76+
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
77+
-e "ssh -i ~/.ssh/deploy_key -p ${WEBSITE_SSH_PORT} -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes" \
78+
website/ \
79+
"${WEBSITE_SSH_USER}@${WEBSITE_SSH_HOST}:${WEBSITE_DEPLOY_PATH}/"

website/assets/powercalc-logo.svg

Lines changed: 27 additions & 0 deletions
Loading
184 KB
Binary file not shown.
272 KB
Binary file not shown.

0 commit comments

Comments
 (0)