qwen-code/.aoneci/workflows/ci.yml

70 lines
1.4 KiB
YAML
Raw Permalink Normal View History

2025-07-22 19:59:07 +08:00
# .aoneci/workflows/ci.yml
name: 'Qwen Code CI'
2025-07-22 19:59:07 +08:00
triggers:
push:
branches: ['main', 'dev', 'integration']
2025-07-22 19:59:07 +08:00
merge_request:
jobs:
build:
name: 'Build and Lint'
2025-07-22 19:59:07 +08:00
steps:
- uses: 'checkout'
- uses: 'setup-env'
2025-07-22 19:59:07 +08:00
inputs:
node-version: '20'
- name: 'Install dependencies'
run: 'npm ci'
2025-07-22 19:59:07 +08:00
- name: 'Run formatter check'
2025-07-22 19:59:07 +08:00
run: |
npm run format
git diff --exit-code
- name: 'Run linter'
run: 'npm run lint:ci'
2025-07-22 19:59:07 +08:00
- name: 'Build project'
run: 'npm run build'
2025-07-22 19:59:07 +08:00
- name: 'Run type check'
run: 'npm run typecheck'
2025-07-22 19:59:07 +08:00
- name: 'Upload build artifacts'
uses: 'upload-artifact'
2025-07-22 19:59:07 +08:00
inputs:
name: 'build-artifacts-20'
2025-07-22 19:59:07 +08:00
path: |
packages/*/dist/**/*
package-lock.json
test:
name: 'Test'
needs: 'build' # This job depends on the 'build' job
2025-07-22 19:59:07 +08:00
steps:
- uses: 'checkout'
2025-07-22 19:59:07 +08:00
- uses: 'setup-env'
2025-07-22 19:59:07 +08:00
inputs:
node-version: '20'
- uses: 'download-artifact'
2025-07-22 19:59:07 +08:00
inputs:
name: 'build-artifacts-20'
path: '.'
2025-07-22 19:59:07 +08:00
- name: 'Install dependencies for testing'
run: 'npm ci'
2025-07-22 19:59:07 +08:00
- name: 'Run tests and generate reports'
run: 'NO_COLOR=true npm run test:ci'
2025-07-22 19:59:07 +08:00
- name: 'Upload coverage reports'
uses: 'upload-artifact'
2025-07-22 19:59:07 +08:00
inputs:
name: 'coverage-reports-20'
path: 'packages/*/coverage'