Merge pull request #51 from mmdapl/next #6
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 | |
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: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.20.2 | |
- name: PNPM Install | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 7 | |
run_install: true | |
- 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 | |
## 主库master、next且执行release更新时执行 | |
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@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 |