Docs/update #83
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 代码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 * *" | |
jobs: | |
install-init: | |
name: "流水线初始化" | |
runs-on: macos-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: macos-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镜像" | |
runs-on: macos-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: 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 |