diff --git a/.github/workflows/astro.yml b/.github/workflows/astro.yml index dbd0f56..05fd04e 100644 --- a/.github/workflows/astro.yml +++ b/.github/workflows/astro.yml @@ -1,32 +1,17 @@ -# Sample workflow for building and deploying an Astro site to GitHub Pages -# -# To get started with Astro see: https://docs.astro.build/en/getting-started/ -# -name: Deploy Astro site to Pages +name: Deploy Astro site to VM on: - # Runs on pushes targeting the default branch push: branches: ["main"] - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. + concurrency: group: "pages" cancel-in-progress: false env: - BUILD_PATH: "." # default value when not using subfolders - # BUILD_PATH: subfolder + BUILD_PATH: "." jobs: build: @@ -61,10 +46,6 @@ jobs: key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - - - name: Setup Pages - id: pages - uses: actions/configure-pages@v3 - name: Install dependencies run: pnpm install --frozen-lockfile @@ -76,19 +57,14 @@ jobs: --site "${{ steps.pages.outputs.origin }}" \ working-directory: ${{ env.BUILD_PATH }} - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + - name: Install SSH key + uses: shimataro/ssh-key-action@6f350ca8484d8d55c2e361e74d17e638dabe713a with: - path: ${{ env.BUILD_PATH }}/dist - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - needs: build - runs-on: ubuntu-latest - name: Deploy - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 + key: ${{ secrets.SSH_KEY }} + known_hosts: ${{ secrets.KNOWN_HOSTS }} + + - name: Copy files to VM + run: rsync -chav --delete ${{ env.BUILD_PATH }} ${{ secrets.USER_AND_IP }}:/var/www/HenryHiles/tmp + + - name: Execute remote command + run: ssh ${{ secrets.USER_AND_IP }} sudo /var/www/deploy-astro.sh astro.henryhiles.com HenryHilesAstro