Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
@@ -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 }}
Binary file added DEV.md
Binary file not shown.
121 changes: 6 additions & 115 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading