@alteriom/repository-metadata-manager
Version:
Complete repository compliance and health management suite for GitHub repositories
108 lines (90 loc) โข 3.31 kB
JavaScript
/**
* 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');