From 08c074ce101fc8fe6699a6de65799fb2bbf9d9fb Mon Sep 17 00:00:00 2001 From: defiQUG Date: Mon, 26 Jan 2026 14:10:48 -0800 Subject: [PATCH] Add git remote configuration script and setup guide --- token-lists/GIT_SETUP_GUIDE.md | 246 ++++++++++++++++++++ token-lists/scripts/configure-git-remote.sh | 115 +++++++++ 2 files changed, 361 insertions(+) create mode 100644 token-lists/GIT_SETUP_GUIDE.md create mode 100755 token-lists/scripts/configure-git-remote.sh diff --git a/token-lists/GIT_SETUP_GUIDE.md b/token-lists/GIT_SETUP_GUIDE.md new file mode 100644 index 0000000..08b27f5 --- /dev/null +++ b/token-lists/GIT_SETUP_GUIDE.md @@ -0,0 +1,246 @@ +# Git Setup Guide for Token Lists Push + +**Date**: 2026-01-26 +**Purpose**: Configure git remote and push token lists + +--- + +## Current Status + +✅ **All token lists committed** (3 commits) +✅ **All tags created** (3 tags) +✅ **Git user configured**: defiQUG +⚠️ **Remote not configured** - needs setup + +--- + +## Quick Setup (Automated) + +Run the configuration script: + +```bash +cd /home/intlc/projects/proxmox +./token-lists/scripts/configure-git-remote.sh +``` + +This script will: +1. Check current git configuration +2. Prompt for repository URL +3. Configure remote +4. Test SSH connection (if using SSH) +5. Optionally push commits and tags + +--- + +## Manual Setup + +### Step 1: Configure Remote + +**Option A: SSH (Recommended)** + +```bash +# Add remote (replace with your repository URL) +git remote add origin git@github.com:username/repo-name.git + +# Verify +git remote -v +``` + +**Option B: HTTPS** + +```bash +# Add remote (replace with your repository URL) +git remote add origin https://github.com/username/repo-name.git + +# Verify +git remote -v +``` + +### Step 2: Test Connection + +**For SSH:** +```bash +ssh -T git@github.com +# Should see: Hi defiQUG! You've successfully authenticated... +``` + +**For HTTPS:** +- You'll be prompted for credentials when pushing +- Use Personal Access Token as password + +### Step 3: Configure Push Settings + +```bash +git config push.default simple +git config push.autoSetupRemote true +``` + +### Step 4: Push Commits and Tags + +```bash +# Check current branch +git branch --show-current + +# Push commits (replace 'master' with your branch name) +git push -u origin master + +# Push tags +git push origin --tags +``` + +--- + +## SSH Key Setup (If Needed) + +If SSH authentication is not working: + +### 1. Check for existing SSH key + +```bash +ls -la ~/.ssh/*.pub +``` + +### 2. Generate new SSH key (if needed) + +```bash +ssh-keygen -t ed25519 -C "defi@defi-oracle.io" +# Press Enter to accept default location +# Set a passphrase (optional but recommended) +``` + +### 3. Add SSH key to GitHub + +```bash +# Display public key +cat ~/.ssh/id_ed25519.pub + +# Copy the output, then: +# 1. Go to: https://github.com/settings/keys +# 2. Click "New SSH key" +# 3. Paste the public key +# 4. Click "Add SSH key" +``` + +### 4. Test SSH connection + +```bash +ssh -T git@github.com +``` + +--- + +## HTTPS Setup (Alternative) + +If you prefer HTTPS: + +### 1. Create Personal Access Token + +1. Go to: https://github.com/settings/tokens +2. Click "Generate new token (classic)" +3. Select `repo` scope +4. Generate and copy the token + +### 2. Configure credential helper + +```bash +git config --global credential.helper store +``` + +### 3. Push (will prompt for credentials) + +```bash +git push -u origin master +# Username: defiQUG +# Password: +``` + +--- + +## Verify Configuration + +After setup, verify everything: + +```bash +# Check remote +git remote -v + +# Check commits ready to push +git log --oneline origin/master..HEAD + +# Check tags ready to push +git tag -l "token-list-*" + +# Test push (dry-run) +git push --dry-run origin master +``` + +--- + +## Push Commands + +Once configured: + +```bash +# Push commits +git push -u origin master + +# Push tags +git push origin --tags +``` + +Or use the helper script: + +```bash +./token-lists/PUSH_AND_SUBMIT.sh +``` + +--- + +## Troubleshooting + +### "Permission denied (publickey)" + +- SSH key not added to GitHub +- Run: `ssh-add ~/.ssh/id_ed25519` +- Add key to GitHub: https://github.com/settings/keys + +### "Repository not found" + +- Check repository URL is correct +- Verify you have push access +- Check repository exists on GitHub + +### "Updates were rejected" + +- Repository has changes you don't have +- Pull first: `git pull origin master --rebase` +- Then push: `git push origin master` + +### "No configured push destination" + +- Remote not configured +- Run: `./token-lists/scripts/configure-git-remote.sh` + +--- + +## After Push + +Once pushed, token lists will be available at: + +- **ChainID 138**: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/dbis-138.tokenlist.json` +- **Ethereum Mainnet**: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/ethereum-mainnet.tokenlist.json` +- **ALL Mainnet**: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/all-mainnet.tokenlist.json` + +--- + +## Next Steps + +After successful push: + +1. ✅ Verify GitHub Raw URLs are accessible +2. ✅ Sign token lists (optional) +3. ✅ Submit to registries (Uniswap, MetaMask, Chainlist) + +--- + +**Last Updated**: 2026-01-26 diff --git a/token-lists/scripts/configure-git-remote.sh b/token-lists/scripts/configure-git-remote.sh new file mode 100755 index 0000000..e6a22b7 --- /dev/null +++ b/token-lists/scripts/configure-git-remote.sh @@ -0,0 +1,115 @@ +#!/usr/bin/env bash +# Configure git remote for token lists push +# This script helps set up the git remote and push configuration + +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 current git config +log_info "Current git configuration:" +echo " User: $(git config user.name)" +echo " Email: $(git config user.email)" +echo "" + +# Check if remote exists +if git remote get-url origin &>/dev/null; then + log_success "Remote 'origin' already configured:" + git remote -v + echo "" + read -p "Do you want to change it? (y/N): " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + log_info "Keeping existing remote" + exit 0 + fi + git remote remove origin +fi + +# Get repository URL +log_info "Please provide your GitHub repository URL" +log_info "Examples:" +echo " HTTPS: https://github.com/username/repo-name.git" +echo " SSH: git@github.com:username/repo-name.git" +echo "" + +read -p "Repository URL: " REPO_URL + +if [[ -z "$REPO_URL" ]]; then + log_error "Repository URL is required" + exit 1 +fi + +# Add remote +log_info "Adding remote 'origin'..." +git remote add origin "$REPO_URL" + +log_success "Remote configured:" +git remote -v +echo "" + +# Check SSH authentication (if using SSH) +if [[ "$REPO_URL" =~ ^git@ ]]; then + log_info "Testing SSH connection to GitHub..." + if ssh -T git@github.com 2>&1 | grep -q "successfully authenticated"; then + log_success "SSH authentication working" + else + log_warn "SSH authentication may not be configured" + log_info "To set up SSH:" + echo " 1. Generate key: ssh-keygen -t ed25519 -C 'your_email@example.com'" + echo " 2. Add to GitHub: https://github.com/settings/keys" + echo " 3. Test: ssh -T git@github.com" + fi +fi + +# Set up push configuration +log_info "Configuring git push settings..." +git config push.default simple +git config push.autoSetupRemote true + +log_success "Git configuration complete!" +echo "" + +# Check 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 "Pushing commits..." + git push -u origin "$CURRENT_BRANCH" + + log_info "Pushing tags..." + git push origin --tags + + log_success "✅ Push complete!" +else + log_info "Push cancelled. You can push later with:" + echo " git push -u origin $CURRENT_BRANCH" + echo " git push origin --tags" +fi