mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2026-01-03 16:42:56 +00:00
66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: ["master"]
|
|
pull_request:
|
|
branches: ["master"]
|
|
|
|
jobs:
|
|
build:
|
|
name: 🔨 Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🚚 Checkout
|
|
uses: actions/checkout@v3
|
|
- name: 🐍 Use Python 3.x
|
|
uses: actions/setup-python@v3.1.4
|
|
with:
|
|
python-version: 3.x
|
|
cache: pip
|
|
- name: ⏬ Install Python dependencies
|
|
run: python -m venv venv
|
|
- run: ./venv/bin/pip install -r requirements.txt
|
|
|
|
- name: 🐉 Use Node.js 18.16.x
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18.16.x
|
|
cache: "npm"
|
|
- name: ⏬ Install Node dependencies
|
|
run: npm ci
|
|
|
|
- name: 🔥 Optimize icon font
|
|
run: npm run minify-icons
|
|
- name: 🔨 Build site
|
|
run: npm run build
|
|
|
|
- name: 📦 Upload build artifacts
|
|
uses: actions/upload-artifact@v3.1.2
|
|
with:
|
|
name: build
|
|
path: build
|
|
deploy:
|
|
name: 🚀 Deploy
|
|
if: github.event_name == 'push' && contains(github.event.head_commit.message, '[deploy]')
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
environment:
|
|
name: Website
|
|
url: https://dotio.theaninova.de
|
|
steps:
|
|
- name: 📦 Download build artifacts
|
|
uses: actions/download-artifact@v2.1.1
|
|
with:
|
|
name: build
|
|
path: build
|
|
- name: 🚀 Deploy
|
|
uses: SamKirkland/web-deploy@v1
|
|
with:
|
|
target-server: ${{ secrets.SSH_SERVER }}
|
|
destination-path: ~/public_html/
|
|
source-path: ./build/
|
|
remote-user: ${{ secrets.SSH_USER }}
|
|
private-ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
ssh-port: ${{ secrets.SSH_PORT }}
|