oblog-parallels/.forgejo/workflows/deploy.yaml

58 lines
1.5 KiB
YAML
Raw Normal View History

2025-05-30 12:43:40 +02:00
on:
push:
branches:
- main
jobs:
build:
runs-on: docker # ? check what it really means
2025-05-30 14:05:24 +02:00
2025-05-30 12:43:40 +02:00
steps:
- name: Checkout git repository
uses: actions/checkout@v4
2025-05-30 14:05:24 +02:00
- name: "Install pnpm"
uses: pnpm/action-setup@v4
with:
version: 10
2025-05-30 14:12:37 +02:00
- name: Setup Nodejs
2025-05-30 14:05:24 +02:00
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
2025-05-30 12:43:40 +02:00
deploy:
needs: build
runs-on: docker
steps:
- name: Get current date
2025-05-30 12:48:14 +02:00
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')"
2025-05-30 12:43:40 +02:00
- 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"