Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
f9be704
add search api
wtfsayo Nov 6, 2024
26dfcb5
fix meta data fields
wtfsayo Nov 6, 2024
1da11d0
accept empty search
wtfsayo Nov 7, 2024
843eb6d
Merge branch 'opensource-observer:main' into search-api
wtfsayo Dec 10, 2024
9d2f8ec
Update daoip-5/scripts/API/README.md
Rashmi-278 Dec 14, 2024
6aecbcd
Merge pull request #1 from wtfsayo/search-api
Rashmi-278 Dec 14, 2024
7a3b878
Merge branch 'main' into main
Rashmi-278 Feb 11, 2025
fdd2ee4
Update daoip-5/scripts/API/README.md
Rashmi-278 Feb 11, 2025
11e5d57
Update daoip-5/scripts/API/run.py
Rashmi-278 Feb 11, 2025
f1d9f2b
Checkpoint before assistant change: Configure the project environment…
Jul 12, 2025
747f394
Assistant checkpoint: Deprecated Allo endpoint and removed all refere…
Rashmi-278 Jul 12, 2025
d70a513
Assistant checkpoint: Implement Phase 1 fixes and comprehensive valid…
Rashmi-278 Jul 12, 2025
b9eb989
Checkpoint before assistant change: Improve the API documentation by …
Jul 12, 2025
770d87d
Assistant checkpoint: Optimize API with caching, threading, and perfo…
Rashmi-278 Jul 12, 2025
d40caa3
Assistant checkpoint: Enhanced automation with GitHub Actions and qua…
Rashmi-278 Jul 12, 2025
35c83c5
Data Cleanup , Deprecate Allo , Add data-quality scripts
Rashmi-278 Jul 12, 2025
5725360
Assistant checkpoint: Created ID standardization script and integrate…
Rashmi-278 Jul 14, 2025
7216aac
Checkpoint before assistant change: Update Stellar grant pools and ap…
Jul 15, 2025
e308183
Checkpoint before assistant change: Standardize project identifiers f…
Jul 18, 2025
86903e7
Assistant checkpoint: Created script to update all project IDs to DAO…
Rashmi-278 Jul 18, 2025
e31d9ec
Checkpoint before assistant change: Consistently identify projects ac…
Jul 18, 2025
fb9b93a
Assistant checkpoint: Update funding conversion script for system-spe…
Rashmi-278 Jul 18, 2025
df65a4f
Delete Backup Files, delete temp scripts
Rashmi-278 Jul 18, 2025
4959eec
Checkpoint before assistant change: Add data and convert it to standa…
Jul 18, 2025
3e0bf55
Checkpoint before assistant change: Update DAOIP-5 data to include al…
Jul 18, 2025
0d17d5d
Checkpoint before assistant change: Add data quality report for the S…
Jul 18, 2025
90a1c79
Assistant checkpoint: Enhanced Stellar DAOIP-5 data with extension fi…
Rashmi-278 Jul 18, 2025
43a023c
Checkpoint before assistant change: Update Stellar data quality repor…
Jul 18, 2025
eee0ddc
Assistant checkpoint: Updated Stellar extensions to use proper DAOIP-…
Rashmi-278 Jul 18, 2025
ab208ce
Checkpoint before assistant change: Update Stellar data to align with…
Jul 18, 2025
7a39ca7
Assistant checkpoint: Updated Stellar data for DAOIP-5 compliance and…
Rashmi-278 Jul 18, 2025
ecb284c
Assistant checkpoint: Fix script paths and update DAOIP-5 compliance
Rashmi-278 Jul 18, 2025
3db77b3
Checkpoint before assistant change: Organize application data by movi…
Jul 18, 2025
c57fd43
Assistant checkpoint: Move non-standard fields to extensions per DAOI…
Rashmi-278 Jul 18, 2025
0a1fce0
Assistant checkpoint: Created script to move Stellar fields to extens…
Rashmi-278 Jul 18, 2025
d22dee3
Stellar Data Updated with extensions field
Rashmi-278 Jul 18, 2025
3b59ec5
Checkpoint before assistant change: Refine Celo project data by updat…
Jul 28, 2025
7d44580
Assistant checkpoint: Updated all Celo project JSON files with valid …
Rashmi-278 Jul 28, 2025
69d909a
Restored to '3b59ec528ef9624aee15acd28bd5828a74363660'
Rashmi-278 Jul 28, 2025
09260c9
Assistant checkpoint: Update Celo projectURI files: remove socials/co…
Rashmi-278 Jul 28, 2025
29521b7
Checkpoint before assistant change: Update project IDs and applicatio…
Jul 28, 2025
0bd0fb9
Assistant checkpoint: Updated grant pool IDs, dates, added Bio Pathfi…
Rashmi-278 Jul 28, 2025
5a6b528
Checkpoint before assistant change: Update IDs for grant pools and pr…
Jul 28, 2025
f19306e
Checkpoint before assistant change: Organize grant pools for Celo Pub…
Jul 28, 2025
c1f93d5
Assistant checkpoint: Created script to update Celo application URI IDs
Rashmi-278 Jul 28, 2025
83fd844
Checkpoint before assistant change: Correct file paths so the Celo ID…
Jul 28, 2025
afdc4a7
Assistant checkpoint: Fixed Celo ID update script and ran it
Rashmi-278 Jul 28, 2025
56c06b8
Checkpoint before assistant change: Update project identifiers to inc…
Jul 28, 2025
e0b654f
Assistant checkpoint: Update Celo application IDs to DAOIP-5 format
Rashmi-278 Jul 28, 2025
7af89b8
Checkpoint before assistant change: Update application IDs to follow …
Jul 28, 2025
3086b6e
Assistant checkpoint: Update application ID format for Celo files
Rashmi-278 Jul 28, 2025
5d1c5ed
Checkpoint before assistant change: Update application IDs to include…
Jul 28, 2025
954d659
Assistant checkpoint: Create and run script to update application IDs
Rashmi-278 Jul 28, 2025
3fb886f
Checkpoint before assistant change: Standardize grant application ide…
Jul 28, 2025
6a1fd9f
Assistant checkpoint: Create script to convert daoip5: to daoip-5: in…
Rashmi-278 Jul 28, 2025
f472b13
Assistant checkpoint: Fix Path concatenation error in conversion script
Rashmi-278 Jul 28, 2025
125ba21
Checkpoint before assistant change: Standardize the identifier format…
Jul 28, 2025
cde308a
Assistant checkpoint: Fix scf-X to scf_X naming conventions in Stella…
Rashmi-278 Jul 28, 2025
f41196d
Adhere to naming convention, pull Celo Data
Rashmi-278 Jul 29, 2025
b061e09
Create roundsOnCelo.json
Rashmi-278 Sep 14, 2025
c597162
Create Celo.json
Rashmi-278 Sep 14, 2025
e1ecd31
Create Optimism.json
Rashmi-278 Sep 14, 2025
b9d4591
Create Lukso.json
Rashmi-278 Sep 14, 2025
8a32692
Create Base.json
Rashmi-278 Sep 14, 2025
bfa198c
Create Arbitrum.json
Rashmi-278 Sep 14, 2025
daa3e98
Create Avalanche.json
Rashmi-278 Sep 14, 2025
504790d
Create Scroll.json
Rashmi-278 Sep 14, 2025
35217b9
Add files via upload
Rashmi-278 Sep 17, 2025
69f2db6
Replit Commit
Rashmi-278 Sep 17, 2025
719b256
Generate CSV files for project data from specific funding rounds
Sep 17, 2025
0a8e3f6
Add SCF 38 and update existing SCF data processing
Sep 17, 2025
06c31c4
Update SCF 36 Stellar applications with new project details and funding
Sep 17, 2025
11db2f1
Update Stellar DAOIP-5 data to reflect new name and type
Sep 17, 2025
1fcf145
Update grant pool information and project details
Sep 21, 2025
68256bc
Add
Rashmi-278 Sep 21, 2025
670f255
Add a new grants pool for SCF 37 to the stellar network
Sep 21, 2025
18667e7
Update documentation to clarify system architecture and data standards
Sep 21, 2025
18d24ef
Update project data for submission 29 with new details
Sep 21, 2025
e3b1c5e
Update data for multiple items and ensure accuracy
Sep 21, 2025
de98e20
Add script to extract and save project data from CSV files
Sep 21, 2025
f07f64c
Add missing Stellar grant application data to the dataset
Sep 21, 2025
ae7d08a
Add missing project data and update project comparison script
Sep 21, 2025
d5b6ace
Add AutoAction project details to Stellar grant applications
Sep 21, 2025
1bb9fb6
Add and extract project data for DAOIP-5 format
Sep 21, 2025
a46f113
Add conversion script for CeloPG data to DAOIP-5 format
Sep 21, 2025
f318ea7
Update CeloPG data conversion and JSON structure for DAOIP-5 standard
Sep 21, 2025
42d73ea
Add CeloPG data conversion and extensions to DAOIP-5 format
Sep 21, 2025
d37eda2
Add CeloPG data for DAOIP-5 and include extensions data
Sep 21, 2025
f8446f7
Update JSON files to rename CeloPG to celopg
Sep 21, 2025
ddf1458
Update traction evidence for Stellar applications
Sep 21, 2025
0bdfbfc
Update SCF 13 data with new submission details and project information
Sep 21, 2025
52edf65
Update SCF 13 project data with latest submissions
Sep 21, 2025
1816799
Update Stellar Community Fund 13 application details
Sep 21, 2025
87867bd
Update application file naming convention for consistency
Sep 21, 2025
8a42ad9
Update grants pool links to new application URIs
Sep 21, 2025
69e76fc
Add file naming conventions for grant applications
Sep 21, 2025
28cfa61
Update grant pool links for external data sources
Sep 21, 2025
e129fd1
archive celo-org
Rashmi-278 Sep 22, 2025
b8069b3
Update grant pools with additional Stellar Community Fund data
Sep 22, 2025
14c9ed1
Update grant pool data with additional SCF round information
Sep 22, 2025
d977d8c
Update grant pools with additional funding and timeline information
Sep 22, 2025
0155525
Add new grant pool extension URI to the growth data
Sep 22, 2025
1a709d2
Add grant pool extension URI for Prezenti mint round applications
Sep 22, 2025
755980b
Add new grant pool extension URI for mint round applications
Sep 22, 2025
460cff5
Update Celo grant pool application data for Mint round
Sep 22, 2025
aee702e
Update grant pools to specify Quadratic Funding as the mechanism
Sep 22, 2025
1c627e4
Update application to prevent errors during data processing
Sep 22, 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
156 changes: 132 additions & 24 deletions .github/workflows/daoip5-update.yaml
Original file line number Diff line number Diff line change
@@ -1,57 +1,165 @@

name: Generate DAOIP-5 Files and Create PR

on:
push:
paths:
- 'data/funders/**' # Trigger on changes in the funders folder
- 'data/funders/**'
pull_request:
paths:
- 'data/funders/**'

jobs:
generate_and_pr:
generate_and_validate:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
python-version: '3.11'

- name: Install dependencies
run: |
pip install -r daoip-5/scripts/requirements.txt

- name: Generate JSON files
id: generate_files
- name: Detect changed folders
id: detect_changes
run: |
# Detecting the updated/added folder in the funders directory
FOLDER_PATH=$(git diff --name-only HEAD^ HEAD | grep '^data/funders' | head -1 | xargs dirname || true)
if [ -z "$FOLDER_PATH" ]; then
echo "No changes detected in funders directory. Exiting."
echo "Detecting changes in data/funders..."
CHANGED_FOLDERS=$(git diff --name-only HEAD~1 HEAD | grep '^data/funders/' | cut -d'/' -f1-3 | sort -u)
if [ -z "$CHANGED_FOLDERS" ]; then
echo "No changes detected in funders directory."
echo "skip=true" >> $GITHUB_OUTPUT
exit 0
fi
# Running the main.py script with the detected path
python3 daoip-5/scripts/main.py --path "./$FOLDER_PATH"
echo "Changed folders: $CHANGED_FOLDERS"
echo "folders<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGED_FOLDERS" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "skip=false" >> $GITHUB_OUTPUT

- name: Process changed folders
if: steps.detect_changes.outputs.skip == 'false'
run: |
echo "${{ steps.detect_changes.outputs.folders }}" | while read folder; do
if [ -n "$folder" ] && [ -d "$folder" ]; then
echo "Processing folder: $folder"

# Check if folder has required structure
if [ -f "$folder"/*.yaml ] && [ -d "$folder/uploads" ] && ls "$folder/uploads"/*.csv 1> /dev/null 2>&1; then
echo "✅ Valid structure found in $folder"

# Convert CSV to JSON
python3 daoip-5/scripts/CSV-to-JSON.py --path "$folder"

# Extract system name from folder path
SYSTEM_NAME=$(basename "$folder")
JSON_PATH="daoip-5/json/$SYSTEM_NAME"

if [ -d "$JSON_PATH" ]; then
echo "✅ JSON files generated for $SYSTEM_NAME"

# Run data quality validation
echo "🔍 Running data quality validation for $SYSTEM_NAME..."
python3 daoip-5/scripts/validate_data_quality.py "$JSON_PATH"

# Check if validation passed
if [ $? -eq 0 ]; then
echo "✅ Data quality validation passed for $SYSTEM_NAME"
else
echo "⚠️ Data quality validation had issues for $SYSTEM_NAME (check reports)"
fi
else
echo "❌ Failed to generate JSON files for $SYSTEM_NAME"
exit 1
fi
else
echo "⚠️ Skipping $folder - missing required YAML file or uploads directory with CSV files"
fi
fi
done

- name: Run comprehensive validation
if: steps.detect_changes.outputs.skip == 'false'
run: |
echo "🔍 Running comprehensive data quality validation..."
cd daoip-5/scripts
python3 validate_all_systems.py

- name: Apply critical fixes if needed
if: steps.detect_changes.outputs.skip == 'false'
run: |
echo "🔧 Applying critical fixes..."
cd daoip-5/scripts
python3 fix_critical_issues.py ../json all

- name: Check for changes and commit
if: steps.detect_changes.outputs.skip == 'false'
run: |
if [ -n "$(git status --porcelain)" ]; then
git config --local user.email "[email protected]"
git config --local user.name "GitHub Actions"
git add daoip-5/json
git commit -m "Auto-generated files for new/updated folder"
git config --local user.email "[email protected]"
git config --local user.name "GitHub Actions"

# Add all generated files
git add daoip-5/json/

# Check if there are changes to commit
if ! git diff --staged --quiet; then
git commit -m "Auto-generated DAOIP-5 files and quality reports

Generated files for: ${{ steps.detect_changes.outputs.folders }}
- Converted CSV data to DAOIP-5 compliant JSON
- Applied critical schema fixes
- Generated data quality reports
- Validated against DAOIP-5 standards"
echo "changes=true" >> $GITHUB_OUTPUT
else
echo "No changes to commit."
exit 0
echo "changes=false" >> $GITHUB_OUTPUT
fi

- name: Push changes and create PR
if: success() && steps.generate_files.outputs.FOLDER_PATH != ''
- name: Create Pull Request
if: steps.detect_changes.outputs.skip == 'false' && github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: peter-evans/create-pull-request@v5
with:
commit-message: Auto-generated DAOIP-5 files for new/updated folder
branch: auto-generated-pr
title: "Auto-generated DAOIP-5 files for new/updated folder"
body: "This PR contains files generated automatically."
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "Auto-generated DAOIP-5 files and quality reports"
branch: auto-generated-daoip5-${{ github.run_number }}
title: "🤖 Auto-generated DAOIP-5 files for updated funders"
body: |
## Auto-generated DAOIP-5 Files

This PR contains automatically generated DAOIP-5 compliant files for updated funder data.

### Changes:
- 📊 Converted CSV data to DAOIP-5 JSON format
- 🔧 Applied critical schema fixes
- 📋 Generated data quality reports
- ✅ Validated against DAOIP-5 standards

### Affected Systems:
${{ steps.detect_changes.outputs.folders }}

### Quality Reports:
- Individual system reports: `daoip-5/json/<system>/data_quality_report.json`
- Comprehensive report: `daoip-5/json/comprehensive_data_quality_report.json`

**Note:** Please review the quality reports before merging.
base: main
delete-branch: true

- name: Summary
if: always()
run: |
if [ "${{ steps.detect_changes.outputs.skip }}" == "true" ]; then
echo "✅ No changes detected in data/funders directory"
else
echo "✅ Workflow completed for folders: ${{ steps.detect_changes.outputs.folders }}"
echo "📊 Generated JSON files and quality reports"
echo "🔍 Check individual system reports in daoip-5/json/<system>/data_quality_report.json"
fi
86 changes: 86 additions & 0 deletions .replit
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
modules = ["python-3.11"]
run = "cd daoip-5/scripts/API/ && pip install -r requirements.txt && python3 run.py"

[nix]
channel = "stable-24_05"
packages = ["glibcLocales", "unzipNLS"]

[deployment]
run = ["sh", "-c", "cd oss-funding/daoip-5/scripts/API && pip install -r requirements.txt && python3 run.py"]

[workflows]
runButton = "Project"

[[workflows.workflow]]
name = "Boot"
mode = "sequential"
author = 2104566

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "cd daoip-5/scripts/API/"

[[workflows.workflow.tasks]]
task = "packager.installForLanguage"
args = "python3"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "python3 run.py"

[[workflows.workflow]]
name = "Quality Check"
author = 2104566
mode = "sequential"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "cd daoip-5/scripts"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "python3 run_data_quality_check.py full-check"

[[workflows.workflow]]
name = "Process New Funder"
author = 2104566
mode = "sequential"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "cd daoip-5/scripts"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "echo \"Usage: python3 run_data_quality_check.py process ../data/funders/FUNDER_NAME\""

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "echo \"Replace FUNDER_NAME with the actual folder name\""

[[workflows.workflow]]
name = "Project"
mode = "parallel"
author = "agent"

[[workflows.workflow.tasks]]
task = "workflow.run"
args = "SCF Data Processor"

[[workflows.workflow]]
name = "SCF Data Processor"
author = "agent"

[[workflows.workflow.tasks]]
task = "shell.exec"
args = "python process_scf_data.py"

[workflows.workflow.metadata]
outputType = "console"

[[ports]]
localPort = 5000
externalPort = 80

[agent]
expertMode = true
Loading