name: Deploy Site description: Deploy a static site to production inputs: site-name: description: 'Site identifier (determines URL and deployment)' required: true source-dir: description: 'Directory containing the built site' required: false default: '.' runs: using: composite steps: - name: Package site shell: bash run: | echo "📦 Packaging ${{ inputs.site-name }}..." cd "${{ inputs.source-dir }}" tar czf /tmp/${{ inputs.site-name }}.tar.gz . echo "✓ Packaged $(du -h /tmp/${{ inputs.site-name }}.tar.gz | cut -f1)" - name: Deploy via API shell: bash run: | echo "🚀 Deploying ${{ inputs.site-name }}..." # TODO: Replace with actual deployment endpoint # For now, use rsync + nomad dispatch # Extract to deployment location ssh deploy@alvin "mkdir -p /var/www/sites/${{ inputs.site-name }}" scp /tmp/${{ inputs.site-name }}.tar.gz deploy@alvin:/tmp/ ssh deploy@alvin "cd /var/www/sites/${{ inputs.site-name }} && tar xzf /tmp/${{ inputs.site-name }}.tar.gz" # Trigger deployment ssh deploy@alvin "nomad job dispatch -meta site=${{ inputs.site-name }} deploy-site" echo "✅ Deployed!" - name: Show deployment info shell: bash run: | echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "Site: ${{ inputs.site-name }}" echo "URL: https://${{ inputs.site-name }}.toph.so" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"