This commit is contained in:
parent
b0c6f8d009
commit
a69b81e3d7
3 changed files with 5645 additions and 4 deletions
34
.forgejo/workflows/ci.yml
Normal file
34
.forgejo/workflows/ci.yml
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
# This label must point to an isolated runner that has Node.js, Git,
|
||||||
|
# the Docker CLI, and access to a Docker/Podman daemon.
|
||||||
|
runs-on: docker-build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: https://data.forgejo.org/actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: https://data.forgejo.org/actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
cache: npm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Typecheck
|
||||||
|
run: npm run typecheck
|
||||||
|
|
||||||
|
- name: Build and test
|
||||||
|
run: npm test
|
||||||
|
|
||||||
|
- name: Build container image
|
||||||
|
run: docker build --tag webstack-author:ci .
|
||||||
|
|
@ -6,8 +6,8 @@ WORKDIR /app
|
||||||
# Copy dependency manifests
|
# Copy dependency manifests
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
# Install all dependencies
|
# Install exactly the dependency versions recorded in package-lock.json
|
||||||
RUN npm install
|
RUN npm ci
|
||||||
|
|
||||||
# Copy full application codebase
|
# Copy full application codebase
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
@ -23,8 +23,8 @@ WORKDIR /app
|
||||||
# Copy configuration files
|
# Copy configuration files
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
# Install only production dependencies (Express, dotenv, @google/genai)
|
# Install exactly the locked production dependencies
|
||||||
RUN npm install --omit=dev
|
RUN npm ci --omit=dev
|
||||||
|
|
||||||
# Copy compiled build resources from builder stage
|
# Copy compiled build resources from builder stage
|
||||||
COPY --from=builder /app/dist ./dist
|
COPY --from=builder /app/dist ./dist
|
||||||
|
|
|
||||||
5607
package-lock.json
generated
Normal file
5607
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue