111
This commit is contained in:
20
.github/workflows/biome.yml
vendored
Normal file
20
.github/workflows/biome.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Code quality
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ] # Adjust branches as needed
|
||||
pull_request:
|
||||
branches: [ main ] # Adjust branches as needed
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Setup Biome
|
||||
uses: biomejs/setup-biome@f382a98e582959e6aaac8e5f8b17b31749018780 # v2.5.0
|
||||
with:
|
||||
version: latest
|
||||
- name: Run Biome
|
||||
run: biome ci ./src --reporter=github
|
||||
76
.github/workflows/build.yml
vendored
Normal file
76
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: Build and Check
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ] # Adjust branches as needed
|
||||
pull_request:
|
||||
branches: [ main ] # Adjust branches as needed
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check:
|
||||
strategy:
|
||||
matrix:
|
||||
node: [ 22, 23 ]
|
||||
runs-on: ubuntu-latest
|
||||
name: Astro Check for Node.js ${{ matrix.node }}
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
|
||||
with:
|
||||
node-version: ${{ matrix.node }} # Use LTS
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
||||
with:
|
||||
run_install: false # Disable auto-install
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Run Astro Check
|
||||
run: pnpm astro check
|
||||
env:
|
||||
# 测试构建时禁用内容同步,使用本地内容
|
||||
ENABLE_CONTENT_SYNC: false
|
||||
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
node: [ 22, 23 ]
|
||||
runs-on: ubuntu-latest
|
||||
name: Astro Build for Node.js ${{ matrix.node }} # Corrected job name
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
||||
with:
|
||||
run_install: false # Disable auto-install
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Run Astro Build
|
||||
run: pnpm astro build
|
||||
env:
|
||||
ENABLE_CONTENT_SYNC: false
|
||||
55
.github/workflows/deploy.yml
vendored
Normal file
55
.github/workflows/deploy.yml
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
name: Deploy to Pages Branch
|
||||
|
||||
on:
|
||||
# 每次推送到 `main` 分支时触发这个"工作流程"
|
||||
# 如果你使用了别的分支名,请按需将 `main` 替换成你的分支名
|
||||
push:
|
||||
branches: [ main ]
|
||||
# 允许你在 GitHub 上的 Actions 标签中手动触发此"工作流程"
|
||||
workflow_dispatch:
|
||||
|
||||
# 需要写入权限来推送到pages分支
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout your repository using git
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # 支持 Git Submodule 模式
|
||||
token: ${{ secrets.GITHUB_TOKEN }} # 自动访问同账号下的私有仓库
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9.14.4
|
||||
run_install: false
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --no-frozen-lockfile
|
||||
|
||||
- name: Build site
|
||||
run: pnpm run build
|
||||
env:
|
||||
# 如果需要启用内容分离,取消以下注释并配置
|
||||
# ENABLE_CONTENT_SYNC: true
|
||||
# CONTENT_REPO_URL: ${{ secrets.CONTENT_REPO_URL }}
|
||||
# USE_SUBMODULE: true
|
||||
|
||||
# 其他环境变量
|
||||
UMAMI_API_KEY: ${{ secrets.UMAMI_API_KEY }}
|
||||
|
||||
- name: Deploy to pages branch
|
||||
uses: JamesIves/github-pages-deploy-action@v4
|
||||
with:
|
||||
branch: pages # 部署到pages分支
|
||||
folder: dist # Astro默认构建输出目录
|
||||
clean: true # 清理目标分支中的旧文件
|
||||
Reference in New Issue
Block a user