From 97ce8b653cce7cc74b3c9118a485e59979209f52 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Mon, 26 Jan 2026 14:21:23 -0800 Subject: [PATCH] Add automated push script and quick guide --- token-lists/QUICK_PUSH_GUIDE.md | 46 +++++++++ token-lists/scripts/setup-and-push.sh | 142 ++++++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 token-lists/QUICK_PUSH_GUIDE.md create mode 100755 token-lists/scripts/setup-and-push.sh diff --git a/token-lists/QUICK_PUSH_GUIDE.md b/token-lists/QUICK_PUSH_GUIDE.md new file mode 100644 index 0000000..c7aeaa4 --- /dev/null +++ b/token-lists/QUICK_PUSH_GUIDE.md @@ -0,0 +1,46 @@ +# Quick Push Guide + +## Current Status + +✅ **All git requirements configured** +✅ **6 commits ready** (including token lists) +✅ **3 tags ready** (`token-list-*`) +✅ **SSH authentication working** +⏭️ **Repository URL needed** + +## Quick Setup + +### Step 1: Set Repository URL + +If you haven't created the repository yet: +1. Go to https://github.com/new +2. Create repository (don't initialize with files) +3. Copy the repository URL + +Then set it: +```bash +git remote add origin git@github.com:YOUR_USERNAME/YOUR_REPO.git +# Or if it already exists: +git remote set-url origin git@github.com:YOUR_USERNAME/YOUR_REPO.git +``` + +### Step 2: Push Everything + +**Option A: Use the automated script (Recommended)** +```bash +./token-lists/scripts/setup-and-push.sh +``` + +**Option B: Manual push** +```bash +git push -u origin master +git push origin --tags +``` + +## That's It! + +After push, your token lists will be available at: +- `https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/master/token-lists/lists/dbis-138.tokenlist.json` +- `https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/master/token-lists/lists/ethereum-mainnet.tokenlist.json` +- `https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/master/token-lists/lists/all-mainnet.tokenlist.json` + diff --git a/token-lists/scripts/setup-and-push.sh b/token-lists/scripts/setup-and-push.sh new file mode 100755 index 0000000..be49ef1 --- /dev/null +++ b/token-lists/scripts/setup-and-push.sh @@ -0,0 +1,142 @@ +#!/usr/bin/env bash +# Complete setup and push script for token lists +# This script configures the remote and pushes all commits and tags + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" + +# Colors +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' + +log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } +log_success() { echo -e "${GREEN}[✓]${NC} $1"; } +log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } +log_error() { echo -e "${RED}[ERROR]${NC} $1"; } + +cd "$REPO_ROOT" + +# Check if remote exists +if git remote get-url origin &>/dev/null; then + CURRENT_URL=$(git remote get-url origin) + log_info "Current remote: $CURRENT_URL" + + # Test if repository exists + log_info "Testing repository access..." + if git ls-remote --heads origin &>/dev/null; then + log_success "Repository is accessible!" + else + log_error "Repository not found or not accessible" + log_info "Current URL: $CURRENT_URL" + echo "" + read -p "Do you want to update the remote URL? (y/N): " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + read -p "Enter new repository URL: " NEW_URL + if [[ -n "$NEW_URL" ]]; then + git remote set-url origin "$NEW_URL" + log_success "Remote updated to: $NEW_URL" + + # Test again + if git ls-remote --heads origin &>/dev/null; then + log_success "Repository is now accessible!" + else + log_error "Repository still not accessible" + log_info "Please ensure:" + echo " 1. Repository exists on GitHub" + echo " 2. You have push access" + echo " 3. SSH key is added to GitHub" + exit 1 + fi + else + log_error "No URL provided" + exit 1 + fi + else + log_error "Cannot proceed without accessible repository" + exit 1 + fi + fi +else + log_info "No remote configured. Setting up..." + read -p "Enter repository URL (e.g., git@github.com:user/repo.git): " REPO_URL + + if [[ -z "$REPO_URL" ]]; then + log_error "Repository URL is required" + exit 1 + fi + + git remote add origin "$REPO_URL" + log_success "Remote added: $REPO_URL" + + # Test repository + log_info "Testing repository access..." + if git ls-remote --heads origin &>/dev/null; then + log_success "Repository is accessible!" + else + log_error "Repository not found or not accessible" + log_info "Please ensure:" + echo " 1. Repository exists on GitHub" + echo " 2. You have push access" + echo " 3. SSH key is added to GitHub" + exit 1 + fi +fi + +# Get current branch +CURRENT_BRANCH=$(git branch --show-current) +log_info "Current branch: $CURRENT_BRANCH" + +# Show what will be pushed +log_info "Commits ready to push:" +git log --oneline origin/$CURRENT_BRANCH..HEAD 2>/dev/null || git log --oneline -5 + +echo "" +log_info "Tags ready to push:" +git tag -l "token-list-*" + +echo "" +read -p "Ready to push? (y/N): " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]]; then + log_info "Push cancelled" + exit 0 +fi + +# Push commits +log_info "Pushing commits to origin/$CURRENT_BRANCH..." +if git push -u origin "$CURRENT_BRANCH"; then + log_success "Commits pushed successfully!" +else + log_error "Failed to push commits" + exit 1 +fi + +# Push tags +log_info "Pushing tags..." +if git push origin --tags; then + log_success "Tags pushed successfully!" +else + log_error "Failed to push tags" + exit 1 +fi + +# Final summary +echo "" +log_success "✅ Push complete!" +echo "" +log_info "Token lists are now available at:" +REPO_URL=$(git remote get-url origin) +if [[ "$REPO_URL" =~ git@github.com:([^/]+)/(.+)\.git ]]; then + USER_ORG="${BASH_REMATCH[1]}" + REPO_NAME="${BASH_REMATCH[2]}" + BASE_URL="https://raw.githubusercontent.com/$USER_ORG/$REPO_NAME" + echo " - ChainID 138: $BASE_URL/$CURRENT_BRANCH/token-lists/lists/dbis-138.tokenlist.json" + echo " - Ethereum Mainnet: $BASE_URL/$CURRENT_BRANCH/token-lists/lists/ethereum-mainnet.tokenlist.json" + echo " - ALL Mainnet: $BASE_URL/$CURRENT_BRANCH/token-lists/lists/all-mainnet.tokenlist.json" +fi