feature: Add Dreamhost deployment action
Sync TODOs with Issues / sync_todos (push) Successful in 6s

This commit is contained in:
Keith Solomon
2026-08-28 21:04:17 -05:00
parent 44cf74b6c4
commit d0cb20ce59
2 changed files with 46 additions and 64 deletions
+46
View File
@@ -0,0 +1,46 @@
name: Deploy to Dreamhost (dev)
on:
workflow_dispatch:
# Remove "workflow_dispatch" above and uncomment the lines below to enable deploy on push
# only do this once you're actually ready to start deploying to Dreamhost
# push:
# branches:
# - main
jobs:
build:
runs-on: ubuntu-latest
if: ${{ !contains(github.event.head_commit.message, '#skipGA') }}
steps:
- name: Install rsync
run: |
apt-get update
apt-get -y install rsync
- name: Checkout code
uses: actions/checkout@v6
- name: Cache node modules
id: cache-npm
uses: actions/setup-node@v6
env:
cache-name: cache-node-modules
with:
node-version: "22"
- name: Install npm dependencies
run: npm install
- name: Run build task
run: npm run build
- name: Deploy to Dreamhost
uses: SamKirkland/web-deploy@v1
with:
target-server: iad1-shared-e1-31.dreamhost.com
ssh-port: 22
remote-user: zarathos
private-ssh-key: ${{ secrets.REMOTE_PRIVATE_KEY }}
destination-path: work.keithsolomon.net/wp-content/themes/portfolio-2026
rsync-options: --archive --verbose --compress --delete-after --human-readable --exclude=.git* --exclude=.git/ --exclude=.vscode/ --exclude=database/ --exclude=.gitignore --exclude=DOCKER_ENV --exclude=docker_tag --exclude=output.log --exclude=vendor/ --exclude=node_modules/ --exclude=notes/ --exclude=docs/