Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
86f5cb1
fix(package): revert version to 1.0.0
NelakaWith Nov 8, 2025
5160d68
feat(ci): add GitHub Actions workflows for auto release, build and de…
NelakaWith Nov 8, 2025
4381fc6
docs(README): update README and CI/CD documentation to reflect migrat…
NelakaWith Nov 8, 2025
9fbd96f
style(ci): format YAML files for consistency in auto-release, build-a…
NelakaWith Nov 9, 2025
7597848
Merge branch 'main' into develop
NelakaWith Nov 9, 2025
e6d255f
style(pr-lint): adjust indentation for consistency in workflow YAML
NelakaWith Nov 9, 2025
216eaf6
style(workflows): standardize environment variable names in CI workflows
NelakaWith Nov 9, 2025
b982c50
fix(generateApiKey): import missing modules and correct CLI execution…
NelakaWith Nov 9, 2025
60e9903
fix(pr-lint): ensure fetch-depth is set for code checkout step
NelakaWith Nov 9, 2025
0a7b388
refactor(build-and-deploy): streamline deployment process by removing…
NelakaWith Nov 9, 2025
43b413b
chore(CHANGELOG): Refactor code structure for improved readability an…
NelakaWith Nov 13, 2025
04e2bc2
feat(enrichment): enhance analysis parsing and enrich repository data…
NelakaWith Nov 13, 2025
4098fd8
feat(enrichment): enhance analysis parsing and add tests for section …
NelakaWith Nov 18, 2025
1ac4702
feat(analyze): enhance AI payload with summarized issues and pull req…
NelakaWith Nov 18, 2025
feaece1
fix(config): update PORT to 3002 for development and production envir…
NelakaWith Nov 18, 2025
57059ed
fix(docs): correct code block formatting in README.md
NelakaWith Nov 18, 2025
5359f7c
feat(ci): enhance build-and-deploy workflow with SSH setup for deploy…
NelakaWith Nov 18, 2025
7fe175a
feat(ci): add git configuration and dependency installation steps to …
NelakaWith Nov 18, 2025
f20135d
fix(docs): correct formatting in generateApiKey.js documentation
NelakaWith Nov 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
653 changes: 0 additions & 653 deletions .drone.yml

This file was deleted.

29 changes: 29 additions & 0 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Auto Release
on:
push:
branches:
- main
jobs:
auto-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Configure git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Install dependencies
run: npm ci
- name: Check for release
run: |
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
NEW_COMMITS=$(git log $LAST_TAG..HEAD --pretty=format:"%s" | grep -E "^(feat|fix|perf|revert)(\(.*\))?:|BREAKING CHANGE:" || true)
if [ -z "$LAST_TAG" ] || [ -n "$NEW_COMMITS" ]; then
echo "Creating release..."
npm run release
git push --follow-tags origin main
else
echo "Skipping release - no releasable commits"
40 changes: 40 additions & 0 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build and Deploy
on:
push:
tags:
- "v*.*.*"
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm ci --loglevel=info
- name: Run tests
env:
NODE_ENV: test
API_KEY_AUTH_ENABLED: false
DEFAULT_AI_MODEL: deepseek/deepseek-chat
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
OPENROUTER_BASE_URL: ${{ secrets.OPENROUTER_BASE_URL }}
GH_API_TOKEN: ${{ secrets.GH_API_TOKEN }}
GH_REST_API_BASE_URL: ${{ secrets.GH_REST_API_BASE_URL }}
GH_GRAPHQL_API_BASE_URL: ${{ secrets.GH_GRAPHQL_API_BASE_URL }}
FORCE_COLOR: 1
run: |
node --version
npm --version
node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --forceExit --runInBand --verbose --colors
- name: Deploy to server
env:
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
DROPLET_USER: ${{ secrets.DROPLET_USER }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
rsync -avz --exclude='node_modules' --exclude='.git' --exclude='tests' --exclude='.github' --exclude='*.md' --exclude='LICENSE' -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no" ./ $DROPLET_USER@$DEPLOY_HOST:/var/www/pulse-server/
ssh -i ~/.ssh/id_rsa $DROPLET_USER@$DEPLOY_HOST "cd /var/www/pulse-server && npm ci --only=production && pm2 reload ecosystem.config.js --env production || pm2 start ecosystem.config.js --env production && pm2 save"
30 changes: 30 additions & 0 deletions .github/workflows/pr-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: PR Lint
on:
pull_request:
types: [opened, edited, synchronize]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: npm ci --only=dev
- name: Lint PR title
run: |
echo "Validating PR title: ${{ github.event.pull_request.title }}"
if echo "${{ github.event.pull_request.title }}" | grep -qE "^(feat|fix|docs|style|refactor|perf|test|chore|ci|revert)(\(.+\))?!?:"; then
echo "✅ PR title follows conventional commits format"
else
echo "❌ PR title does not follow conventional commits format"
echo "Valid formats: feat(scope): description, fix: description, etc."
exit 1
fi
- name: Fetch base branch
run: git fetch origin ${{ github.event.pull_request.base.ref }}
- name: Lint commits
run: |
echo "Linting commits in PR..."
npx commitlint --from origin/${{ github.event.pull_request.base.ref }} --to ${{ github.event.pull_request.head.sha }} --verbose
21 changes: 21 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Release
on:
push:
tags:
- "v*.*.*"
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=${GITHUB_REF#refs/tags/}
CHANGELOG_CONTENT=$(sed -n "/## [${VERSION}]/,/## [/p" CHANGELOG.md | head -n -1)
if [ -z "$CHANGELOG_CONTENT" ]; then
CHANGELOG_CONTENT="Release $VERSION"
fi
gh release create "$VERSION" --title "$VERSION" --notes "$CHANGELOG_CONTENT"
28 changes: 28 additions & 0 deletions .github/workflows/test-on-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Test on PR
on:
pull_request:
types: [opened, synchronize]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm ci --loglevel=info
- name: Run tests
env:
NODE_ENV: test
API_KEY_AUTH_ENABLED: false
DEFAULT_AI_MODEL: deepseek/deepseek-chat
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
OPENROUTER_BASE_URL: ${{ secrets.OPENROUTER_BASE_URL }}
GH_API_TOKEN: ${{ secrets.GH_API_TOKEN }}
GH_REST_API_BASE_URL: ${{ secrets.GH_REST_API_BASE_URL }}
GH_GRAPHQL_API_BASE_URL: ${{ secrets.GH_GRAPHQL_API_BASE_URL }}
FORCE_COLOR: 1
run: |
node --version
npm --version
echo "Running tests..."
node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --forceExit --runInBand --verbose --colors
Loading