mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-02-13 07:16:20 +08:00
125 lines
2.9 KiB
YAML
125 lines
2.9 KiB
YAML
## 代码CI快速集成流水线,lint、fix、build
|
||
|
||
name: CI
|
||
## 触发条件
|
||
on:
|
||
# 提PR到next分支触发CI
|
||
pull_request:
|
||
branches:
|
||
- next
|
||
push:
|
||
branches:
|
||
- next
|
||
|
||
# 手动触发部署
|
||
workflow_dispatch:
|
||
|
||
schedule:
|
||
- cron: "0 0 1 * *"
|
||
|
||
# 环境变量
|
||
env:
|
||
# 阿里云仓库信息
|
||
REGISTRY: registry.cn-hangzhou.aliyuncs.com
|
||
UserName: 142vip
|
||
|
||
|
||
jobs:
|
||
Base-Build:
|
||
name: "基础编译构建"
|
||
runs-on: ubuntu-latest
|
||
## 主库且拉取PR时触发
|
||
if: github.repository == '142vip/408CSFamily' && github.event_name == 'pull_request'
|
||
permissions:
|
||
actions: read
|
||
pull-requests: read
|
||
|
||
steps:
|
||
- name: Checkout Code
|
||
uses: actions/checkout@v4
|
||
with:
|
||
persist-credentials: false
|
||
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
|
||
fetch-depth: 0
|
||
|
||
## 安装PNPM
|
||
- name: PNPM Install
|
||
uses: pnpm/action-setup@v2
|
||
with:
|
||
version: 8
|
||
|
||
## 安装Node环境
|
||
- name: Install Node.js
|
||
uses: actions/setup-node@v3
|
||
with:
|
||
node-version: 18.18.0
|
||
## 淘宝镜像加速
|
||
registry-url: 'https://registry.npmmirror.com'
|
||
## 缓存
|
||
cache: 'pnpm'
|
||
|
||
## 下载依赖,并执行初始化脚本:钩子函数、思维导图构建
|
||
- name: Install Dependencies
|
||
run: |
|
||
./scripts/ci
|
||
|
||
- name: Code LintFix
|
||
run: |
|
||
./scripts/lint
|
||
|
||
- name: Build Site
|
||
run: |
|
||
./scripts/bundle build
|
||
|
||
- name: Build Site With Proxy
|
||
run: |
|
||
./scripts/bundle build_proxy
|
||
|
||
Build-Docker-Image:
|
||
name: "构建Docker镜像"
|
||
runs-on: ubuntu-latest
|
||
## 主库且tag更新时执行
|
||
if: github.repository == '142vip/408CSFamily' && startsWith(github.event.head_commit.message, 'chore(release):')
|
||
permissions:
|
||
actions: read
|
||
pull-requests: read
|
||
|
||
steps:
|
||
- name: Checkout Code
|
||
uses: actions/checkout@v4
|
||
with:
|
||
persist-credentials: false
|
||
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
|
||
fetch-depth: 0
|
||
|
||
- name: Set up QEMU
|
||
uses: docker/setup-qemu-action@v3
|
||
|
||
- name: Set up Docker Buildx
|
||
uses: docker/setup-buildx-action@v3
|
||
|
||
- name: Login Docker
|
||
run: |
|
||
docker version
|
||
echo "-----------Docker Login-----------"
|
||
docker login \
|
||
--username=${{ env.UserName }} \
|
||
--password=${{ secrets.DOCKER_PASSWORD }} \
|
||
${{env.REGISTRY}}
|
||
|
||
- name: Install Dependencies
|
||
run: |
|
||
./scripts/ci
|
||
|
||
## 构建,支持domain
|
||
- name: Build To Dist
|
||
run: |
|
||
./scripts/bundle build
|
||
|
||
## 快速构建并推送
|
||
- name: Push Docker Image
|
||
run: |
|
||
./scripts/bundle image_faster
|
||
|
||
|