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 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: 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: soloweb private-ssh-key: ${{ secrets.REMOTE_PRIVATE_KEY }} destination-path: solowebdesigns.net/cwc/wp-content/themes/community-works-collaborative rsync-options: --dry-run --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/