- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
82 lines
2.4 KiB
YAML
82 lines
2.4 KiB
YAML
name: Validate Token List
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'token-lists/**'
|
|
- '.github/workflows/validate-pr.yml'
|
|
push:
|
|
branches:
|
|
- '**'
|
|
paths:
|
|
- 'token-lists/**'
|
|
- '.github/workflows/validate-pr.yml'
|
|
|
|
jobs:
|
|
validate:
|
|
name: Validate Token List
|
|
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: 'pnpm'
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
working-directory: ${{ github.workspace }}
|
|
|
|
- name: Validate JSON schema
|
|
run: |
|
|
node token-lists/scripts/validate-token-list.js token-lists/lists/dbis-138.tokenlist.json
|
|
continue-on-error: false
|
|
|
|
- name: Validate address checksums
|
|
run: |
|
|
node token-lists/scripts/checksum-addresses.js token-lists/lists/dbis-138.tokenlist.json
|
|
continue-on-error: false
|
|
|
|
- name: Validate logos
|
|
run: |
|
|
node token-lists/scripts/validate-logos.js token-lists/lists/dbis-138.tokenlist.json
|
|
continue-on-error: true
|
|
|
|
- name: On-chain verification (optional)
|
|
run: |
|
|
node token-lists/scripts/verify-on-chain.js token-lists/lists/dbis-138.tokenlist.json
|
|
continue-on-error: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Comment PR with results
|
|
if: github.event_name == 'pull_request'
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const fs = require('fs');
|
|
const path = 'token-lists/lists/dbis-138.tokenlist.json';
|
|
|
|
if (fs.existsSync(path)) {
|
|
const tokenList = JSON.parse(fs.readFileSync(path, 'utf-8'));
|
|
const body = `## Token List Validation Results ✅
|
|
|
|
**List**: ${tokenList.name}
|
|
**Version**: ${tokenList.version.major}.${tokenList.version.minor}.${tokenList.version.patch}
|
|
**Tokens**: ${tokenList.tokens.length}
|
|
|
|
All validation checks passed! 🎉`;
|
|
|
|
github.rest.issues.createComment({
|
|
issue_number: context.issue.number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
body: body
|
|
});
|
|
}
|
|
|