on: push: branches: - main jobs: build: runs-on: docker # ? check what it really means steps: - name: Checkout git repository uses: actions/checkout@v4 - name: "Install pnpm" uses: pnpm/action-setup@v4 with: version: 10 - name: Setup Nodejs uses: actions/setup-node@v4 with: cache: "pnpm" - name: "Install dependencies" run: pnpm install - name: "Lint code" run: pnpm run lint - name: "Checking code format" run: pnpm run format:check - name: "Build the project" run: pnpm run build deploy: needs: build runs-on: docker steps: - name: Get current date id: date run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" - name: Setup SSH run: | mkdir -p ~/.ssh chmod 0700 ~/.ssh echo "${{ secrets.SSHPRIVKEY }}" > ~/.ssh/id_ed25519 chmod 0600 ~/.ssh/id_ed25519 echo "${{ vars.WEBSERVER_IP }} ${{ secrets.SSHPUBKEY }}" >> ~/.ssh/known_hosts chmod 0600 ~/.ssh/known_hosts - name: Push run: | scp -P ${{ secrets.SSHPORT }} -r dist ${{ secrets.SSH_USERNAME }}@${{ vars.WEBSERVER_IP }}:~/oblog-parallels/build-${{ steps.date.outputs.date }} - name: Update symlink run: | ssh ${{ secrets.SSH_USERNAME }}@${{ vars.WEBSERVER_IP }} -p ${{ secrets.SSHPORT }} "cp -r ~/oblog-parallels/build-${{ steps.date.outputs.date }} ~/oblog-parallels/dist"