

name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
  push:
    branches:
      - master

jobs:
  Build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository code
        uses: actions/checkout@v5
      - name: Setup Node v20
        uses: actions/setup-node@v5
        with:
          node-version: 20 
      - name: Install dependencies
        run: |
          cd ${{ gitea.workspace }}
          npm ci
      - name: Build
        run: npm run build
      - name: Save Build Artifact
        uses: actions/upload-artifact@v3
        with:
          name: build-artifact
          path: ${{ gitea.workspace }}/build/*
          include-hidden-files: true

  Upload:
    runs-on: ubuntu-latest
    needs: Build
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v3
        with:
          name: build-artifact
          path: ${{ gitea.workspace }}/build
      - name: setup ssh
        run: |
          mkdir -p ~/.ssh/
          echo "$SSH_PRIVATE_KEY" > ../private.key
          sudo chmod 600 ../private.key
          echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts 
        shell: bash
        env:
          SSH_PRIVATE_KEY: ${{secrets.SSH_KEY}}
          SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}}
      - name: upload to web
        run: |
          scp -r -i ${{ gitea.workspace }}/../private.key -P ${{ secrets.BLOG_PORT }} build blog@madeio.net:/var/www/html/
          ssh -i ${{ gitea.workspace }}/../private.key -p ${{ secrets.BLOG_PORT }} blog@madeio.net "$PERM_COPY"
        env:
          PERM_COPY: chmod -R 775 /var/www/html/build; cp -r /var/www/html/build/* /var/www/html/; rm -r /var/www/html/build
      - name: cleanup ssh
        run: |
          rm ${{ gitea.workspace }}/../private.key
          rm ~/.ssh/known_hosts
