1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-02-03 02:23:38 +08:00
Files
408CSFamily/.github/workflows/CI.yml

119 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 代码CI快速集成流水线lint、fix、build
name: CI
## 触发条件
on:
pull_request:
branches:
- 'master'
- 'next'
- '!pages/**'
push:
branches:
- master
- next
# 手动触发部署
workflow_dispatch:
schedule:
- cron: "0 0 1 * *"
jobs:
install-init:
name: "依赖安装初始化"
runs-on: ubuntu-latest
permissions:
actions: read
pull-requests: read
steps:
- name: checkout code
uses: actions/checkout@v3
with:
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
fetch-depth: 0
- name: PNPM Install
uses: pnpm/action-setup@v2
with:
version: 7
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16.20.2
cache: 'pnpm'
run: |
pnpm i --frozen-lockfile --registry https://registry.npmmirror.com
- name: Cache Dependencies
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }}
Base-Build:
name: "基础编译构建"
runs-on: ubuntu-latest
needs: install-init
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Restore Dependencies From Cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }}
- name: Code LintFix
run: ./scripts/lint --fix
- 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
needs: install-init
## 主库且tag更新时执行
if: github.repository == '142vip/408CSFamily' && startsWith(github.ref, 'refs/tags/v')
permissions:
actions: read
pull-requests: read
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
fetch-depth: 0
- name: Login Docker
run: |
docker version
echo "-----------Docker Login-----------"
docker login \
--username=${{ env.UserName }} \
--password=${{ secrets.DOCKER_PASSWORD }} \
${{env.REGISTRY}}
- name: Restore Dependencies From Cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }}
## 构建支持domain
- name: Build To Dist
run: ./scripts/bundle build_proxy
- name: Push Docker Image
run: ./scripts/bundle image_faster