42 lines
921 B
YAML
42 lines
921 B
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Cache Cargo Dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cargo-
|
|
|
|
- name: Build
|
|
run: cargo build --release
|
|
|
|
- name: Move to opt
|
|
run: |
|
|
mkdir -p /opt/site
|
|
mv target/release/site /opt/site
|
|
mv static /opt/site -r
|
|
mv templates /opt/site -r
|
|
|
|
- name: Restart site
|
|
working-directory: /opt/site
|
|
run: |
|
|
pkill site || true
|
|
nohup ./target/release/site > server.log 2>&1 &
|