@devilsdev/rag-pipeline-utils
Version:
A modular toolkit for building RAG (Retrieval-Augmented Generation) pipelines in Node.js
56 lines (44 loc) โข 1.43 kB
YAML
# .github/workflows/ci.yml
# Version: 1.1.0
# Description: Clean CI pipeline with lint, test, fixtures, coverage, and release
# Author: Ali Kahwaji
name: CI & Release
on:
push:
branches: [main]
tags: ['v*']
pull_request:
branches: [main]
jobs:
build-test-release:
name: Lint, Test, and Release
runs-on: ubuntu-latest
steps:
- name: โฌ๏ธ Checkout code
uses: actions/checkout@v4
- name: ๐ข Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
registry-url: 'https://registry.npmjs.org/'
- name: ๐ฆ Install dependencies
run: npm ci
- name: ๐งน Lint codebase
run: npm run lint
- name: โ
Run tests with coverage
run: npm test
- name: ๐งช Validate Fixtures
run: npm run validate-fixtures
- name: ๐ Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: DevilsDev/rag-pipeline-utils
- name: ๐ Semantic Release
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # โ
Required by @semantic-release/github
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} # โ
Used by GitHub Actions
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx semantic-release