From 87e13ff88edca0c875272b207e020fa4924c3a58 Mon Sep 17 00:00:00 2001 From: peptiderepo Date: Tue, 9 Jun 2026 07:04:25 +0000 Subject: [PATCH] ci: adopt shared reusable deploy workflow (deploy-app.yml) Replaces the repo-local staging/smoke/production jobs with a single call to peptiderepo/peptide-e2e/.github/workflows/deploy-app.yml. Deploy logic is now centralized; this repo just passes its target_path. Pilot for the rollout. Agent-Session: cto adopt-reusable-deploy --- .github/workflows/deploy.yml | 90 +++--------------------------------- 1 file changed, 6 insertions(+), 84 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ddaa37e..e7d266d 100755 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,88 +16,10 @@ jobs: name: Pre-deploy CI uses: ./.github/workflows/ci.yml - deploy-staging: - name: Deploy to Staging + deploy: + name: Deploy (shared pipeline) needs: ci - runs-on: ubuntu-latest - environment: staging - steps: - - uses: actions/checkout@v4 - - name: Setup SSH key - run: | - mkdir -p ~/.ssh - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key - chmod 600 ~/.ssh/deploy_key - ssh-keyscan -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts 2>/dev/null - - name: Deploy via rsync → staging - run: | - rsync -avz --delete \ - --exclude '.git' --exclude '.github' \ - --exclude 'tests' --exclude 'phpunit.xml.dist' \ - --exclude 'composer.json' --exclude 'composer.lock' \ - --exclude 'vendor' --exclude 'phpcs.xml.dist' \ - --exclude 'ARCHITECTURE.md' --exclude 'CONVENTIONS.md' --exclude 'CHANGELOG.md' \ - -e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \ - ./ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:~/domains/peptiderepo.com/public_html/staging/wp-content/plugins/peptide-reconstitution-calculator/ - - name: Staging health check - run: | - sleep 5 - STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://staging.peptiderepo.com/ || echo "000") - echo "Staging responded: HTTP $STATUS" - - name: Cleanup - if: always() - run: rm -f ~/.ssh/deploy_key - - smoke: - name: Smoke tests (staging) - needs: deploy-staging - uses: peptiderepo/peptide-e2e/.github/workflows/smoke.yml@main - secrets: - STAGING_WP_ADMIN_USER: ${{ secrets.STAGING_WP_ADMIN_USER }} - STAGING_WP_ADMIN_PASSWORD: ${{ secrets.STAGING_WP_ADMIN_PASSWORD }} - - deploy-production: - name: Deploy to Production - needs: [ci, deploy-staging, smoke] - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v4 - - name: Setup SSH key - run: | - mkdir -p ~/.ssh - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key - chmod 600 ~/.ssh/deploy_key - ssh-keyscan -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts 2>/dev/null - - name: Deploy via rsync → production - run: | - rsync -avz --delete \ - --exclude '.git' --exclude '.github' \ - --exclude 'tests' --exclude 'phpunit.xml.dist' \ - --exclude 'composer.json' --exclude 'composer.lock' \ - --exclude 'vendor' --exclude 'phpcs.xml.dist' \ - --exclude 'ARCHITECTURE.md' --exclude 'CONVENTIONS.md' --exclude 'CHANGELOG.md' \ - -e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \ - ./ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:~/domains/peptiderepo.com/public_html/wp-content/plugins/peptide-reconstitution-calculator/ - - name: Purge LiteSpeed Cache - run: | - ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }} \ - ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }} \ - "cd ~/domains/peptiderepo.com/public_html && find wp-content/litespeed/ -type f -delete 2>/dev/null; touch .lscache_purge 2>/dev/null || true" - - name: Production health check - run: | - sleep 5 - STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://peptiderepo.com) - if [ "$STATUS" != "200" ] && [ "$STATUS" != "403" ]; then - echo "ERROR: Site returned HTTP $STATUS" - exit 1 - fi - echo "Production healthy (HTTP $STATUS)" - - name: Cleanup - if: always() - run: rm -f ~/.ssh/deploy_key - - name: Deploy summary - run: | - echo "## Deployment Complete" >> $GITHUB_STEP_SUMMARY - echo "- **Commit:** \`${GITHUB_SHA::7}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Deployed to:** peptiderepo.com" >> $GITHUB_STEP_SUMMARY + uses: peptiderepo/peptide-e2e/.github/workflows/deploy-app.yml@main + with: + target_path: wp-content/plugins/peptide-reconstitution-calculator + secrets: inherit