Skip to content

Merge pull request #1 from vpn-cli/vercel/install-and-configure-verce… #35

Merge pull request #1 from vpn-cli/vercel/install-and-configure-verce…

Merge pull request #1 from vpn-cli/vercel/install-and-configure-verce… #35

Workflow file for this run

name: AppForge Enterprise CI/CD Pipeline
on:
push:
branches: [ "master", "main" ]
pull_request:
branches: [ "master", "main" ]
jobs:
# Job 1: Linting and Code Integrity Verification
lint-and-typecheck:
name: Code Integrity Check
runs-on: ubuntu-latest
steps:
- name: Checkout Codebase
uses: actions/checkout@v4
- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install Dependencies
run: npm ci --legacy-peer-deps
- name: TypeScript Compiler Verification
run: npx tsc --noEmit
- name: ESLint Code Quality Scan
run: npm run lint
# Job 2: Build Verification & Dockerization
build-and-containerize:
name: Docker Multi-Stage Build
runs-on: ubuntu-latest
needs: lint-and-typecheck # Only build if the code is syntactically perfect!
steps:
- name: Checkout Codebase
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Verify Docker Container Compilation
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: false # Set to true later when mapping to AWS ECR or Docker Hub
load: true
tags: appforge:latest
cache-from: type=gha
cache-to: type=gha,mode=max
# Explicitly test if the sealed standalone container can boot cleanly
- name: Container Boot Test
run: |
docker run -d --name appforge-test -p 3000:3000 appforge:latest
sleep 10
docker ps | grep appforge-test