Skip to content

comment test

comment test #45

Workflow file for this run

name: Build and Deploy
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: '**/package-lock.json'
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make libssl3 libssl-dev
make init
- name: Configure GIT identity globally
run: |
git config --global user.name "GitHub Actions Bot"
git config --global user.email "actions@github.com"
- name: Build toolchain and data
env:
DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}
run: make all
- name: Commit and push generated changes
id: commit-changes
run: |
git add -A
if git diff --staged --quiet; then
echo "changes=false" >> "$GITHUB_OUTPUT"
else
git commit -m "chore: auto-update generated content [ci skip]"
git push
echo "changes=true" >> "$GITHUB_OUTPUT"
fi
- name: Setup SSH
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.DEPLOY_SSH_KEY }}
- name: Add VPS SSH known hosts
env:
VPS_HOST: ${{ secrets.DEPLOY_VPS_HOST }}
VPS_PORT: ${{ secrets.DEPLOY_VPS_PORT }}
run: |
mkdir -p ~/.ssh
ssh-keyscan -p "$VPS_PORT" -H "$VPS_HOST" >> ~/.ssh/known_hosts
- name: Deploy to VPS bare repository
env:
VPS_HOST: ${{ secrets.DEPLOY_VPS_HOST }}
VPS_PORT: ${{ secrets.DEPLOY_VPS_PORT }}
VPS_REPO_PATH: ${{ secrets.DEPLOY_VPS_REPO_PATH }}
run: |
mkdir -p temp-repo
cd temp-repo
git init
export GIT_SSH_COMMAND="ssh -p $VPS_PORT -o StrictHostKeyChecking=no"
git remote add origin ssh://git@${VPS_HOST}:${VPS_REPO_PATH}
git checkout --orphan temp-branch
cp -r ../build/dist/. .
git add -A
git commit -m "Deploy $(date '+%Y-%m-%d %H:%M:%S') [ci skip]"
git push --force origin temp-branch:master