Skip to content

Commit 766fc90

Browse files
harish876rahulkanagaraj786Vikhaspavan-nuthisophiequynn
authored
Development - Added Ecosystem Tools Prepped for Next Release (#228)
* Add Bazel configuration for C++17 and optimization; refactor JSONScalar implementation; update service configuration for replicas * ResLens Deployment from Monorepo * ResLens Vercel deployment - Workflow Test * ResLens Vercel deployment - Workflow Test * update workflow * update workflow - resolve caching * update yaml parsing in wfl * update workflow to python runners * use jq instead to parse projects config * fixed JSON parsing in workflow * Offload Project Build to Vercel * Additional Optimisations to the vercel deployment pipeline * using vercel.json instead of vercel.ts * Update deployment command in workflow to include --yes flag for automatic confirmation * Remove reslens to re-add as subtree * Squashed 'ecosystem/monitoring/reslens/' content from commit 0e4305048 git-subtree-dir: ecosystem/monitoring/reslens git-subtree-split: 0e43050486e29c18cf06e7a696b09bee42195d49 * updating build command for reslens * update project id for reslens deployment * revert project id changes. vercel deployment breaks with author validation error * remove unecessary config file * Squashed 'ecosystem/ai-tools/beacon/' content from commit a77bbe3f0 git-subtree-dir: ecosystem/ai-tools/beacon git-subtree-split: a77bbe3f0711faff5925cd224211e645ef9a6c0b * update deployment config to trigger beacon deployment * fix for author conflict outside vercel org * checking if the git config works * adding back token info * checking if deployment authorship works * adding skip config to project deployments * Squashed 'ecosystem/ai-tools/nexus/' content from commit 9148a40 git-subtree-dir: ecosystem/ai-tools/nexus git-subtree-split: 9148a40 * adding nexus for deployment check * bumping next js version for nexus and updating deployment configs * Rescontract - Development Branch PR (#226) * Create directory for MCP and get started * added MCP support for smart contract functionality * fix(rescontract): switch to JSON config for contract_tools * Add required mcp-graphql files * Automate key generation and enable it to be used at MCP tools * Fix few bugs * Analysis of the transactions * add monitoring * Integration of graphql and smart contract * Benchmarking tool integration * Integrate mcp-graphql and mcp-smartcontract in the same directory --------- Co-authored-by: Rahul Kanagaraj <getmerk786@gmail.com> Co-authored-by: Vikhas <vikhas260401@gmail.com> Co-authored-by: Vikhas <76156657+Vikhas@users.noreply.github.com> Co-authored-by: Pavan Kumar Nuthi <pavankumarnuthi@gmail.com> * update folder structure for resilientdb-mcp * GraphQ-LLM MCP server (#227) * Initial commit * Initial commit * Initial commit * Initial commit * setup * setup * Update docker-compose.dev.yml * Update docker-compose.dev.yml * setup update * setup update * fixed setup * fixed setup * Nexus integration * Nexus integration * nexus update * nexus update * setup update * setup update * feat: Dockerize MCP server and update documentation - Add separate Docker service for MCP server in docker-compose.dev.yml - MCP server runs as independent container using stdio transport - Configured with stdin_open and tty for stdio communication - Shares environment variables with backend service - Update TEAM_SETUP.md with comprehensive MCP server setup instructions - Add Step 5.1: Start MCP Server with Docker and local options - Clarify separation between HTTP API backend and MCP server - Update configuration summary and verification checklist - Add MCP server to Quick Start Commands section - Improve code clarity in src/index.ts - Update console output to distinguish HTTP API Server from MCP Server - Clarify port configuration display - Add QUERY_TUTOR_EXAMPLES.md - Comprehensive guide with GraphQL query examples - Question-based prompts for RAG testing - Recommended testing order and expected results * feat: Dockerize MCP server and update documentation - Add separate Docker service for MCP server in docker-compose.dev.yml - MCP server runs as independent container using stdio transport - Configured with stdin_open and tty for stdio communication - Shares environment variables with backend service - Update TEAM_SETUP.md with comprehensive MCP server setup instructions - Add Step 5.1: Start MCP Server with Docker and local options - Clarify separation between HTTP API backend and MCP server - Update configuration summary and verification checklist - Add MCP server to Quick Start Commands section - Improve code clarity in src/index.ts - Update console output to distinguish HTTP API Server from MCP Server - Clarify port configuration display - Add QUERY_TUTOR_EXAMPLES.md - Comprehensive guide with GraphQL query examples - Question-based prompts for RAG testing - Recommended testing order and expected results * test: Add comprehensive Docker services testing and MCP protocol verification - Add TEST_DOCKER_SERVICES.md with complete testing guide - Step-by-step verification procedures for all Docker services - Network communication tests - End-to-end flow testing - Troubleshooting tips and common issues - Add test-mcp-protocol.ts for MCP server protocol testing - Tests MCP protocol communication via JSON-RPC over stdio - Verifies all 5 core MCP operations: * Initialize protocol * List tools (9 tools verified) * Check connection tool * Execute GraphQL query tool * Introspect schema tool - All tests passing (5/5) - Confirms MCP server is responding correctly to protocol calls * test: Add comprehensive Docker services testing and MCP protocol verification - Add TEST_DOCKER_SERVICES.md with complete testing guide - Step-by-step verification procedures for all Docker services - Network communication tests - End-to-end flow testing - Troubleshooting tips and common issues - Add test-mcp-protocol.ts for MCP server protocol testing - Tests MCP protocol communication via JSON-RPC over stdio - Verifies all 5 core MCP operations: * Initialize protocol * List tools (9 tools verified) * Check connection tool * Execute GraphQL query tool * Introspect schema tool - All tests passing (5/5) - Confirms MCP server is responding correctly to protocol calls * Reslens integration * my changes * Apply changes after removing secret * Clean up unnecessary files and add Docker setup for ResLens - Removed temporary fix scripts and redundant documentation - Added Docker support for ResLens Frontend and ResLens Middleware - Updated docker-compose.dev.yml with ResLens services - Fixed middleware connection URLs for browser compatibility - Added check-docker-services.sh utility script - Kept essential setup scripts and documentation * Update README.md * Update README.md * Update README.md * Fix backend container command and GraphQL URL configuration - Fix docker-compose.dev.yml: Change backend command from 'npm run dev -- --http-api' to 'npm run http-api' for correct HTTP API mode - Fix ingest-graphql-docs.ts: Remove incorrect RESILIENTDB_GRAPHQL_URL override pointing to HTTP wrapper (port 18001) - HTTP wrapper only provides REST KV endpoints, not GraphQL server - GraphQL operations must use port 5001 - Added clarifying comments about service separation - Update environment.ts: Fix default RESILIENTDB_GRAPHQL_URL from port 18000 to 5001 with clarifying comment - Enable ResLens Middleware and Frontend services in docker-compose.dev.yml * Merge ResLens Docker setup into TEAM_SETUP.md and update TEST_DOCKER_SERVICES.md - Merged DOCKER_RESLENS_SETUP.md content into TEAM_SETUP.md Step 5.2 - Added comprehensive ResLens Docker setup instructions including: - Docker architecture details (multi-stage builds, Nginx setup) - Complete environment variables documentation - Networking configuration - Service management commands (logs, stop, remove) - Development vs Production comparison - Enhanced troubleshooting sections - Updated TEST_DOCKER_SERVICES.md to include ResLens services testing - Added ResLens Middleware and Frontend to service architecture - Added Step 5: Test ResLens Services with 6 sub-tests - Added ResLens troubleshooting sections - Updated verification checklists and success criteria - Deleted standalone DOCKER_RESLENS_SETUP.md file - Updated all documentation references * Update README.md * Update README.md * Update README.md * Update TEAM_SETUP.md to reference forked Nexus repository with GraphQ-LLM integration * Fix remaining Nexus repository URLs to point to fork * Add Nexus fork setup guide and script for team reference * Add nexus/ to .gitignore and update scripts to use forked Nexus repository * Remove nexus directory from git tracking (now using separate fork) * Update README.md with Nexus fork information and setup instructions * Add Nexus Fork Information section to README * Simplify conclusion sentence in README * Update README.md * Add ResLens fork setup guide and script * Configure ResLens to use separate fork repositories - Update docker-compose.dev.yml to use absolute paths to forks - Remove ResLens directories from git tracking (165 files) - Update TEAM_SETUP.md with fork information - Add ResLens to .gitignore - Fork URLs: - Frontend: sophiequynn/incubator-resilientdb-ResLens - Middleware: sophiequynn/incubator-resilientdb-ResLens-Middleware * Add ResLens fork clone commands to Quick Start section * Update documentation for ResLens fork setup - Add ResLens fork information to docs/README.md - Update Quick Start to include ResLens fork cloning steps - Add ResLens fork section similar to Nexus fork documentation - Update TEAM_SETUP.md with detailed ResLens fork instructions - Clarify that forks include GraphQ-LLM-specific modifications * Clarify ResLens fork modifications in TEAM_SETUP.md * Add ResLens fork cloning commands to prerequisites in Step 5.2 * Revise performance metrics section and add URLs Updated section titles and added access URLs for various services. * chore: Update docker-compose.dev.yml with local ResLens paths - Update ResLens Middleware path to /Users/CelineJohnPhilip/DDS/ResLens-Middleware/middleware - Update ResLens Frontend path to /Users/CelineJohnPhilip/DDS/ResLens - Configured for local development environment * Removed optimization related content. Updated README to improve clarity and consistency in descriptions of features and sections. * update * update * update * Update README.md * Fix ResLens frontend connection and enhance explanation quality - Fix ResLens frontend middleware URL to use localhost instead of Docker service name (browser can't resolve service names) - Increase token limits for detailed explanations (2000 for Gemini, 3000 for other models) - Enhance system and detailed explanation prompts for more comprehensive responses - Remove ResLens frontend dependency on middleware health check to allow startup * Update docs/README.md with latest features and fixes - Fix Nexus port inconsistency (3002 -> 3000) - Document query stats button feature in efficiency tab - Add note about ResLens frontend localhost configuration - Enhance performance metrics section with ResLens integration details * Fix ResLens paths to match current user setup * Document chatbot UI route in README --------- Co-authored-by: sophiequynn <39390333+sophiequynn@users.noreply.github.com> Co-authored-by: celinejp <celinejp.03@gmail.com> Co-authored-by: Theodore Pan <77665596+theopan8@users.noreply.github.com> Co-authored-by: sophiequynn <sjquynn@ucdavis.edu> Co-authored-by: Sandhya <sghanathe@ucdavis.edu> Co-authored-by: Ahadke <hadkeaayusha@gmail.com> * header fix using license-eye * test deployment after license additions * updated workflow to trigger on commits to master * deleting unrelated files * deleting the private and public certificates * added in scripts to generate certificates and public-private keys and updated readme and gitignore * checking ecosystem deployment * Added automatic document updation workflow using Pocketflow (#229) * Added Pocketflow, it's license notice and doc updation workflow * removing excess documentation - added in CC0 license * added pocketflow as third party tool * fixed license file --------- Co-authored-by: Rahul Kanagaraj <getmerk786@gmail.com> Co-authored-by: Vikhas <vikhas260401@gmail.com> Co-authored-by: Vikhas <76156657+Vikhas@users.noreply.github.com> Co-authored-by: Pavan Kumar Nuthi <pavankumarnuthi@gmail.com> Co-authored-by: sophiequynn <39390333+sophiequynn@users.noreply.github.com> Co-authored-by: celinejp <celinejp.03@gmail.com> Co-authored-by: Theodore Pan <77665596+theopan8@users.noreply.github.com> Co-authored-by: sophiequynn <sjquynn@ucdavis.edu> Co-authored-by: Sandhya <sghanathe@ucdavis.edu> Co-authored-by: Ahadke <hadkeaayusha@gmail.com> Co-authored-by: Bismanpal-Singh <83641114+Bismanpal-Singh@users.noreply.github.com>
1 parent dfdc9b6 commit 766fc90

File tree

870 files changed

+160293
-5119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

870 files changed

+160293
-5119
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"projects": [
3+
{
4+
"name": "Reslens",
5+
"path": "ecosystem/monitoring/reslens",
6+
"vercel_project_id": "prj_cGTEEoWrPjwmgHT8Oh3GDnt8AV3j"
7+
},
8+
{
9+
"name": "Beacon",
10+
"path": "ecosystem/ai-tools/beacon",
11+
"vercel_project_id": "prj_k3vjg1KTaQFVhhxasQunxgLNGBbk"
12+
},
13+
{
14+
"name": "Nexus",
15+
"path": "ecosystem/ai-tools/nexus",
16+
"vercel_project_id":"prj_Kam9DhhjI7zb5yPfrQXfyhGnf5TT"
17+
}
18+
]
19+
}

.github/workflows/auto-docs.yml

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: Auto-Generate Documentation
21+
22+
on:
23+
push:
24+
paths:
25+
- 'ecosystem/**'
26+
branches:
27+
- main
28+
- master
29+
# Allow manual triggering
30+
workflow_dispatch:
31+
32+
jobs:
33+
update-docs:
34+
runs-on: ubuntu-latest
35+
env:
36+
# Required by Pocketflow; must be uppercase "GEMINI" to use Gemini-specific path
37+
LLM_PROVIDER: GEMINI
38+
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
39+
GEMINI_MODEL: ${{ secrets.GEMINI_MODEL || 'models/gemini-2.5-pro' }}
40+
41+
# Skip if commit message contains [skip docs] (only applicable to push events)
42+
# github.event.head_commit is null for workflow_dispatch, so guard with event_name and default string
43+
if: ${{ github.event_name != 'push' || !contains(github.event.head_commit.message || '', '[skip docs]') }}
44+
45+
steps:
46+
- name: Checkout repository
47+
uses: actions/checkout@v4
48+
with:
49+
fetch-depth: 2 # Need at least 2 commits for diff
50+
51+
- name: Set up Python
52+
uses: actions/setup-python@v5
53+
with:
54+
python-version: '3.11'
55+
56+
- name: Install dependencies
57+
run: |
58+
cd ecosystem/pocketflow
59+
pip install -r requirements.txt
60+
61+
- name: Configure Git
62+
run: |
63+
git config user.name "github-actions[bot]"
64+
git config user.email "github-actions[bot]@users.noreply.github.com"
65+
66+
- name: Detect changed tools
67+
id: detect-tools
68+
env:
69+
LLM_PROVIDER: GEMINI
70+
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
71+
GEMINI_MODEL: ${{ secrets.GEMINI_MODEL || 'models/gemini-2.5-pro' }}
72+
run: |
73+
cd ecosystem/pocketflow
74+
# Export env vars for Python scripts
75+
export GEMINI_API_KEY="$GEMINI_API_KEY"
76+
export GEMINI_MODEL="$GEMINI_MODEL"
77+
78+
# Detect changed tools
79+
CHANGED_TOOLS=$(python3 scripts/detect_changed_tools.py --base-ref HEAD^)
80+
81+
if [ -z "$CHANGED_TOOLS" ]; then
82+
echo "No tools changed, skipping documentation update"
83+
echo "changed=false" >> $GITHUB_OUTPUT
84+
exit 0
85+
fi
86+
87+
# Convert newline-separated list to space-separated for GITHUB_OUTPUT
88+
# GITHUB_OUTPUT requires single-line values, so we use spaces as delimiter
89+
TOOLS_LIST=$(echo "$CHANGED_TOOLS" | tr '\n' ' ' | sed 's/[[:space:]]*$//')
90+
91+
echo "Changed tools: $CHANGED_TOOLS"
92+
echo "tools=$TOOLS_LIST" >> $GITHUB_OUTPUT
93+
echo "changed=true" >> $GITHUB_OUTPUT
94+
95+
- name: Generate documentation for changed tools
96+
if: steps.detect-tools.outputs.changed == 'true'
97+
env:
98+
LLM_PROVIDER: GEMINI
99+
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
100+
GEMINI_MODEL: ${{ secrets.GEMINI_MODEL || 'models/gemini-2.5-pro' }}
101+
run: |
102+
cd ecosystem/pocketflow
103+
# Export all env vars to ensure they're available to subprocess calls
104+
export LLM_PROVIDER="$LLM_PROVIDER"
105+
export GEMINI_API_KEY="$GEMINI_API_KEY"
106+
export GEMINI_MODEL="$GEMINI_MODEL"
107+
108+
# Read tools from previous step (space-separated)
109+
TOOLS="${{ steps.detect-tools.outputs.tools }}"
110+
111+
# Process each tool (bash splits on spaces by default)
112+
for tool in $TOOLS; do
113+
if [ -n "$tool" ]; then
114+
echo "Generating documentation for: $tool"
115+
python3 scripts/run_pocketflow_for_tool.py \
116+
--tool "$tool" \
117+
--single-file \
118+
--skip-format || echo "Failed to generate docs for $tool"
119+
fi
120+
done
121+
122+
- name: Check for changes
123+
id: check-changes
124+
run: |
125+
if [ -n "$(git status --porcelain)" ]; then
126+
echo "has_changes=true" >> $GITHUB_OUTPUT
127+
else
128+
echo "has_changes=false" >> $GITHUB_OUTPUT
129+
fi
130+
131+
- name: Commit changes
132+
if: steps.check-changes.outputs.has_changes == 'true'
133+
run: |
134+
git add ecosystem/AI-Tooling/beacon/content/*.mdx
135+
git commit -m "docs: auto-update documentation [skip docs]" || exit 0
136+
137+
- name: Create Pull Request
138+
if: steps.check-changes.outputs.has_changes == 'true'
139+
uses: peter-evans/create-pull-request@v5
140+
with:
141+
token: ${{ secrets.GITHUB_TOKEN }}
142+
commit-message: "docs: auto-update documentation [skip docs]"
143+
title: "docs: Auto-update documentation"
144+
body: |
145+
This PR contains automatically generated documentation updates.
146+
147+
**Changed tools:**
148+
${{ steps.detect-tools.outputs.tools }}
149+
150+
Generated by Pocketflow based on code changes.
151+
branch: auto-docs-update
152+
delete-branch: true
153+
labels: documentation, automated
154+
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: Deploy Ecosystem Projects to Vercel
21+
22+
on:
23+
push:
24+
branches:
25+
- master
26+
- development
27+
paths:
28+
- 'ecosystem/**'
29+
- '.github/workflows/deploy-ecosystem.yml'
30+
- '.github/deploy-ecosystem-configs.json'
31+
workflow_dispatch:
32+
inputs:
33+
project_name:
34+
description: 'Specific project to deploy (leave empty to deploy all changed projects)'
35+
required: false
36+
type: string
37+
force_deploy_all:
38+
description: 'Force deploy all projects regardless of changes'
39+
required: false
40+
type: boolean
41+
default: false
42+
43+
jobs:
44+
determine-projects:
45+
name: Determine Projects to Deploy
46+
runs-on: ubuntu-latest
47+
container:
48+
image: node:20-bookworm-slim
49+
outputs:
50+
projects: ${{ steps.filter.outputs.projects }}
51+
projects_json: ${{ steps.filter.outputs.projects_json }}
52+
steps:
53+
- name: Checkout repository
54+
uses: actions/checkout@v4
55+
with:
56+
fetch-depth: 0
57+
token: ${{ secrets.GITHUB_TOKEN }}
58+
59+
- name: Read deployment config
60+
id: config
61+
shell: bash
62+
run: |
63+
# Read JSON config file and output as multiline string
64+
echo "config_json<<EOF" >> "$GITHUB_OUTPUT"
65+
cat .github/deploy-ecosystem-configs.json >> "$GITHUB_OUTPUT"
66+
echo "EOF" >> "$GITHUB_OUTPUT"
67+
68+
- name: Filter projects based on inputs
69+
id: filter
70+
shell: bash
71+
run: |
72+
# Use Node.js to parse JSON (already available in container)
73+
node << 'EOF'
74+
const fs = require('fs');
75+
const configJson = `${{ steps.config.outputs.config_json }}`;
76+
const config = JSON.parse(configJson);
77+
78+
const eventName = '${{ github.event_name }}';
79+
const projectName = '${{ inputs.project_name }}';
80+
const forceDeployAll = '${{ inputs.force_deploy_all }}' === 'true';
81+
82+
let projectsToDeploy = [];
83+
84+
// Filter out projects with skip: true
85+
const availableProjects = config.projects.filter(p => !p.skip);
86+
87+
// Manual trigger: deploy specific project or all
88+
if (eventName === 'workflow_dispatch') {
89+
if (projectName) {
90+
const project = availableProjects.find(p => p.name === projectName);
91+
if (project) {
92+
projectsToDeploy = [project];
93+
} else {
94+
projectsToDeploy = availableProjects;
95+
}
96+
} else if (forceDeployAll) {
97+
projectsToDeploy = availableProjects;
98+
} else {
99+
projectsToDeploy = availableProjects;
100+
}
101+
} else {
102+
// For push events, deploy all available projects (excluding skipped ones)
103+
projectsToDeploy = availableProjects;
104+
}
105+
106+
// Output results
107+
const outputFile = process.env.GITHUB_OUTPUT;
108+
const projectsJson = JSON.stringify(projectsToDeploy);
109+
const projectsNames = JSON.stringify(projectsToDeploy.map(p => p.name));
110+
111+
fs.appendFileSync(outputFile, `projects_json<<EOF\n${projectsJson}\nEOF\n`);
112+
fs.appendFileSync(outputFile, `projects=${projectsNames}\n`);
113+
EOF
114+
115+
- name: Show projects to deploy
116+
run: |
117+
echo "Projects to deploy: ${{ steps.filter.outputs.projects }}"
118+
PROJECTS="${{ steps.filter.outputs.projects }}"
119+
if [ "$PROJECTS" = "[]" ]; then
120+
echo "No projects to deploy"
121+
fi
122+
123+
deploy:
124+
name: Deploy ${{ matrix.project.name }}
125+
needs: determine-projects
126+
if: needs.determine-projects.outputs.projects != '[]'
127+
runs-on: ubuntu-latest
128+
strategy:
129+
fail-fast: false
130+
matrix:
131+
project: ${{ fromJson(needs.determine-projects.outputs.projects_json) }}
132+
steps:
133+
- name: Checkout repository
134+
uses: actions/checkout@v4
135+
136+
- name: Setup Node.js
137+
uses: actions/setup-node@v4
138+
with:
139+
node-version: '20'
140+
141+
- name: Install Vercel CLI
142+
run: npm install --global vercel@latest
143+
144+
- name: Configure Git for Vercel
145+
working-directory: ${{ matrix.project.path }}
146+
run: |
147+
git config user.name "github-actions[bot]"
148+
git config user.email "support@resilientdb.com"
149+
150+
- name: Pull Vercel Environment Information
151+
working-directory: ${{ matrix.project.path }}
152+
env:
153+
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
154+
VERCEL_ORG_ID: ${{ matrix.project.vercel_org_id || secrets.VERCEL_ORG_ID }}
155+
VERCEL_PROJECT_ID: ${{ matrix.project.vercel_project_id }}
156+
run: |
157+
if [ -n "$VERCEL_PROJECT_ID" ] && [ -n "$VERCEL_ORG_ID" ]; then
158+
mkdir -p .vercel
159+
echo "$VERCEL_ORG_ID" > .vercel/org-id
160+
echo "$VERCEL_PROJECT_ID" > .vercel/project-id
161+
fi
162+
163+
vercel pull --yes --environment=production --token=$VERCEL_TOKEN || echo "Could not pull Vercel config, continuing..."
164+
165+
- name: Create deployment commit with correct author
166+
run: |
167+
# Configure git user
168+
git config user.name "github-actions[bot]"
169+
git config user.email "support@resilientdb.com"
170+
# Create an empty commit with correct author for Vercel to see
171+
git commit --allow-empty -m "ci: authorize deploy for ${{ matrix.project.name }}" || echo "Skipping commit creation"
172+
173+
- name: Deploy to Vercel
174+
working-directory: ${{ matrix.project.path }}
175+
env:
176+
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
177+
run: vercel deploy --prod --yes --token=$VERCEL_TOKEN
178+
179+
- name: Deployment Summary
180+
if: always()
181+
run: |
182+
echo "### Deployment: ${{ matrix.project.name }}" >> $GITHUB_STEP_SUMMARY
183+
echo "- **Path:** ${{ matrix.project.path }}" >> $GITHUB_STEP_SUMMARY
184+
echo "- **Status:** ${{ job.status }}" >> $GITHUB_STEP_SUMMARY
185+
echo "" >> $GITHUB_STEP_SUMMARY

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ apache_release
2020
resdb/
2121
100*_db/
2222
gmon.out
23-
.history/
23+
.history/
24+
service/tools/data/cert

.licenserc.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ header:
1414
- 'dev/.rat-excludes'
1515
- 'documents/doxygen/.gitignore'
1616
- 'third_party/loc_script/src/index.js'
17-
17+
- 'ecosystem/**/*.mdx'
18+
- 'ecosystem/**/*.json'
19+
- 'ecosystem/**/LICENSE*'
20+
- 'ecosystem/monitoring/reslens/src/lib/**'
21+
- 'ecosystem/third_party/**'
1822

1923

2024
comment: on-failure
21-

0 commit comments

Comments
 (0)