UNPKG

@alteriom/repository-metadata-manager

Version:

Complete repository compliance and health management suite for GitHub repositories

108 lines (90 loc) โ€ข 3.31 kB
#!/usr/bin/env node /** * GitHub Secrets Setup Verification Script * Helps verify that all required secrets and environment variables are properly configured */ console.log('๐Ÿ” GitHub Secrets Setup Verification\n'); // Check local environment console.log('๐Ÿ“‹ Local Environment Check:'); const requiredEnvVars = ['NPM_TOKEN', 'GITHUB_TOKEN']; const optionalEnvVars = [ 'AGENT_ORG_TOKEN', 'GITHUB_REPOSITORY_OWNER', 'GITHUB_REPOSITORY_NAME', ]; requiredEnvVars.forEach((varName) => { const value = process.env[varName]; if (value) { console.log(`โœ… ${varName}: SET (${value.substring(0, 8)}...)`); } else { console.log(`โŒ ${varName}: NOT SET`); } }); console.log('\n๐Ÿ“‹ Optional Environment Variables:'); optionalEnvVars.forEach((varName) => { const value = process.env[varName]; if (value) { console.log(`โœ… ${varName}: SET (${value.substring(0, 8)}...)`); } else { console.log(`โšช ${varName}: NOT SET (optional)`); } }); // Instructions for GitHub Secrets console.log('\n๐Ÿ” Required GitHub Repository Secrets:'); console.log(` To set up GitHub repository secrets: 1. Go to: https://github.com/Alteriom/repository-metadata-manager/settings/secrets/actions 2. Click "New repository secret" and add: Name: NPM_TOKEN Value: ${process.env.NPM_TOKEN || 'npm_your_token_here'} 3. The GITHUB_TOKEN is automatically provided by GitHub Actions ๐ŸŽฏ After adding the NPM_TOKEN secret, your automated releases will work! `); // Test npm authentication console.log('๐Ÿงช Testing NPM Authentication:'); try { const { execSync } = require('child_process'); const whoami = execSync('npm whoami', { encoding: 'utf8' }).trim(); console.log(`โœ… NPM Authentication: Logged in as "${whoami}"`); // Test package access try { const packageInfo = execSync( 'npm view @alteriom/repository-metadata-manager version', { encoding: 'utf8' } ).trim(); console.log( `โœ… Package Access: Current version ${packageInfo} found on npm` ); } catch (error) { console.log( `โŒ Package Access: Cannot access @alteriom/repository-metadata-manager` ); } } catch (error) { console.log(`โŒ NPM Authentication: Not logged in or token invalid`); console.log(` Run: npm login`); } console.log('\n๐Ÿš€ Release System Status:'); const packageJson = require('../package.json'); console.log(`๐Ÿ“ฆ Current Version: ${packageJson.version}`); console.log(`๐Ÿ“ Release Scripts Available:`); console.log( ` npm run release:patch # ${packageJson.version} โ†’ patch bump` ); console.log( ` npm run release:minor # ${packageJson.version} โ†’ minor bump` ); console.log( ` npm run release:major # ${packageJson.version} โ†’ major bump` ); console.log( ` npm run release:prerelease # ${packageJson.version} โ†’ beta version` ); console.log('\nโœจ Next Steps:'); if (!process.env.NPM_TOKEN) { console.log('1. โŒ Set NPM_TOKEN environment variable locally'); } else { console.log('1. โœ… NPM_TOKEN is set locally'); } console.log('2. ๐Ÿ” Add NPM_TOKEN to GitHub repository secrets (see URL above)'); console.log('3. ๐Ÿš€ Test automated release with: npm run release:patch');