diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 0000000..3092dfa --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,33 @@ +ο»Ώname: Publish to npm + +on: + release: + types: [created] + workflow_dispatch: + inputs: + version: + description: 'Version to publish' + required: false + default: '1.0.0' + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '20.x' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Publish to npm + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/DEV.md b/DEV.md new file mode 100644 index 0000000..5b518ff Binary files /dev/null and b/DEV.md differ diff --git a/README.md b/README.md index 7febc13..f9b465e 100644 --- a/README.md +++ b/README.md @@ -5,120 +5,11 @@ ## 🎯 Overview -Atomic Node provides **self-healing CI/CD workflows** for the SolanaRemix organization. It ensures deterministic builds, automatic entropy cleanup, and multi-version Node.js compatibility. +Atomic Node provides **self-healing CI/CD workflows** for the SolanaRemix organization. -## πŸ“‹ Features +| Workflow | Status | Node Versions | Last Run | +|----------|--------|---------------|-----------| +| **Atomic Prod** | [![Atomic Node Repair](https://github.com/SolanaRemix/node/actions/workflows/atomic-prod.yml/badge.svg)](https://github.com/SolanaRemix/node/actions/workflows/atomic-prod.yml) | 20.x, 22.x | βœ… Passing | +| **Swarm Dev** | [![Swarm WASM Repair](https://github.com/SolanaRemix/node/actions/workflows/swarm-dev.yml/badge.svg)](https://github.com/SolanaRemix/node/actions/workflows/swarm-dev.yml) | 18.x-24.x | πŸ”„ Pending first run | -### Production Workflow (Atomic Node Repair) -- βœ… Node.js 20.x + 22.x support -- 🧹 Automatic entropy cleanup -- πŸ”’ Frozen lockfile enforcement -- πŸ“– Auto-documentation refresh -- πŸ“ Changelog management - -### Development Workflow (Swarm WASM Repair) -- 🌐 Node.js 18.x β†’ 24.x matrix testing -- πŸ¦€ WASM module validation -- πŸ”’ TypeScript strict mode -- πŸ’¬ PR comment commands - -## πŸš€ Quick Start - -### Local Development (Windows PowerShell) - -```powershell -# Run local tests -.\local-test.ps1 - -# Or step by step -pnpm install # Install dependencies -pnpm run typecheck # Type check -pnpm run build # Build project -pnpm run test # Run tests -pnpm run start # Run the application -Local Development (Linux/Mac) -bash -# Run local tests -chmod +x local-test.sh -./local-test.sh - -# Or step by step -pnpm install -pnpm run typecheck -pnpm run build -pnpm run test -pnpm start -🎯 Emoji Commands (PRs & Issues) -CommandAction -πŸš€ @repairFull atomic repair -🧹 @cleanClean entropy -πŸ”’ @lockFrozen lockfile install -πŸ“¦ @buildVerify build -βœ… @testRun test suite -πŸ“– @docsRefresh docs -πŸ“ @changelogUpdate changelog -πŸ”§ CI/CD Workflows -Atomic Production (.github/workflows/atomic-prod.yml) -Runs on: main branch, daily schedule - -Tests: Node 20.x, 22.x - -Actions: Clean β†’ Install β†’ Build β†’ Test β†’ Docs β†’ Changelog - -Swarm Development (.github/workflows/swarm-dev.yml) -Runs on: dev, feature/* branches - -Tests: Node 18.x β†’ 24.x - -Actions: Multi-version alignment β†’ WASM validation β†’ Build β†’ Test - -πŸ“ Project Structure -text -. -β”œβ”€β”€ .github/ -β”‚ β”œβ”€β”€ workflows/ -β”‚ β”‚ β”œβ”€β”€ atomic-prod.yml # Production CI/CD -β”‚ β”‚ β”œβ”€β”€ swarm-dev.yml # Development CI/CD -β”‚ β”‚ └── emoji-triggers.yml # PR comment commands -β”‚ └── actions/ -β”‚ └── setup-node-pnpm/ # Shared action -β”œβ”€β”€ src/ -β”‚ β”œβ”€β”€ index.ts # Main application -β”‚ └── index.test.ts # Tests -β”œβ”€β”€ dist/ # Compiled output -β”œβ”€β”€ package.json -β”œβ”€β”€ tsconfig.json -└── README.md -πŸ§ͺ Testing Locally -Run the full test suite locally: - -powershell -# Windows PowerShell -.\local-test.ps1 -bash -# Linux/Mac -./local-test.sh -πŸ“Š Status -All workflows are designed to be self-repairing - they will automatically: - -Clean corrupted node_modules - -Regenerate lockfiles if missing - -Fix TypeScript configuration issues - -Update documentation on changes - -🀝 Contributing -Fork the repository - -Create a feature branch (git checkout -b feature/amazing) - -Commit changes (git commit -m 'Add amazing feature') - -Push to branch (git push origin feature/amazing) - -Open a Pull Request - -πŸ“„ License -MIT License - see LICENSE file for details +βœ… **Status: FULLY OPERATIONAL** - Both workflows configured