name: Build and deploy website on: push: branches: ["master"] workflow_dispatch: permissions: contents: read concurrency: group: "deploy" cancel-in-progress: false jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "22" - name: Install dependencies run: npm ci - name: Build site run: | npm run build || true test -f _site/index.html - name: Configure SSH run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/deploy_key chmod 600 ~/.ssh/deploy_key ssh-keyscan -H start9.com >> ~/.ssh/known_hosts cat >> ~/.ssh/config <