Skip to content

perf: vue、eslint模块依赖更新 #94

perf: vue、eslint模块依赖更新

perf: vue、eslint模块依赖更新 #94

Workflow file for this run

## 代码CI快速集成流水线,lint、fix、build
## 注意: 只在142vip/JavaScriptCollection时执行
name: CI
## 触发条件
on:
pull_request:
branches:
- 'master'
- 'next'
- '!pages/**'
push:
branches:
- master
- next
# 手动触发部署
workflow_dispatch:
schedule:
- cron: "0 0 1 * *"
# 环境变量
env:
# 阿里云仓库信息
REGISTRY: registry.cn-hangzhou.aliyuncs.com
UserName: 142vip
jobs:
install-init:
name: "流水线初始化"
runs-on: ubuntu-latest
if: github.repository == '142vip/JavaScriptCollection'
permissions:
actions: read
pull-requests: read
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
persist-credentials: false
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
fetch-depth: 0
# ## 依赖下载完成后,或执行思维导图编译
# - name: PNPM Install
# uses: pnpm/action-setup@v2
# with:
# version: 7
# run_install: |
# args: [--frozen-lockfile, --registry=https://registry.npmmirror.com]
# 安装Node环境
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
## 淘宝镜像加速
registry-url: 'https://registry.npmmirror.com'
- name: Install Dependencies
run: |
./scripts/ci
- 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
if: github.repository == '142vip/JavaScriptCollection'
needs:
- install-init
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
persist-credentials: false
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
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镜像"
## macos不支持docker的使用
runs-on: ubuntu-latest
needs:
- install-init
## 主库master、next且执行release更新时执行
if: github.repository == '142vip/JavaScriptCollection' && startsWith(github.event.head_commit.message, 'chore(release):')
permissions:
actions: read
pull-requests: read
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
fetch-depth: 0
- name: Set up Docker
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: 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