1
0
mirror of synced 2026-10-07 23:31:24 +08:00

ci(release): modernize Node and EdgeOne workflows

This commit is contained in:
YunYouJun
2026-08-12 23:19:29 +08:00
parent 633ab0c1d2
commit 55fe4c0b0e
6 changed files with 56 additions and 27 deletions

View File

@@ -15,19 +15,19 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v4
- name: Set node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: lts/*
node-version: 24
cache: pnpm
- name: Install
run: pnpm install
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm run lint
@@ -35,22 +35,22 @@ jobs:
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v4
- name: Set node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: lts/*
node-version: 24
cache: pnpm
- name: Install
run: pnpm install
run: pnpm install --frozen-lockfile
- name: Convert CSV to JSON
run: npm run convert
run: pnpm run convert
- name: Typecheck
run: pnpm run typecheck
@@ -60,20 +60,20 @@ jobs:
strategy:
matrix:
node-version: [lts/*]
node-version: [24]
os: [ubuntu-latest]
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/
cache: pnpm
- run: pnpm install
- run: pnpm install --frozen-lockfile
- run: pnpm run convert
- run: pnpm run test

View File

@@ -20,12 +20,12 @@ jobs:
- name: Use Node.js LTS
uses: actions/setup-node@v4
with:
node-version: lts/*
node-version: 24
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: pnpm install
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm -C packages/cook run build

View File

@@ -14,31 +14,34 @@ jobs:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v4
# after pnpm
- name: Use Node.js LTS
uses: actions/setup-node@v4
with:
node-version: lts/*
node-version: 24
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: pnpm install
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm build
- name: Include EdgeOne Pages configuration
run: cp edgeone.json dist/edgeone.json
# deploy to edgeone
# see https://edgeone.ai/zh/document/180255338996572160?product=edgedeveloperplatform
- name: Deploy to EdgeOne Pages
run: npx edgeone pages deploy dist -n cook-yunyoujun-cn -t ${{ secrets.EDGEONE_API_TOKEN }}
run: pnpm dlx edgeone@1.6.23 makers deploy dist -n cook-yunyoujun-cn -e production -a global -t ${{ secrets.EDGEONE_API_TOKEN }}
env:
EDGEONE_API_TOKEN: ${{ secrets.EDGEONE_API_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist

View File

@@ -1,12 +1,12 @@
FROM node:lts-alpine AS builder
FROM node:24-alpine AS builder
RUN apk update
RUN npm install -g pnpm
RUN npm install -g pnpm@11.21.0
WORKDIR /app
COPY . .
RUN pnpm install && pnpm run build
RUN pnpm install --frozen-lockfile && pnpm run build
FROM nginx:stable-alpine
COPY --from=builder /app/dist /usr/share/nginx/html

26
edgeone.json Normal file
View File

@@ -0,0 +1,26 @@
{
"headers": [
{
"source": "/assets/*",
"headers": [
{
"key": "Cache-Control",
"value": "public, max-age=31536000, immutable"
}
]
},
{
"source": "/.well-known/*",
"headers": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Cache-Control",
"value": "public, max-age=3600"
}
]
}
]
}

View File

@@ -3,7 +3,7 @@ publish = "dist"
command = "pnpm run build"
[build.environment]
NODE_VERSION = "16"
NODE_VERSION = "24"
[[redirects]]
from = "/*"