Merge branch 'main' of https://github.com/Tronzit-Veca/Pumpfun-Smart-… #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI/CD Pipeline | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'npm' | |
| - name: Setup Rust | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: Install dependencies | |
| run: | | |
| npm install | |
| rustup component add rustfmt clippy | |
| - name: Run linting | |
| run: | | |
| npm run lint | |
| cargo fmt --all -- --check | |
| cargo clippy --all-targets --all-features -- -D warnings | |
| - name: Run tests | |
| run: | | |
| anchor test --skip-local-validator | |
| npm test | |
| - name: Build project | |
| run: | | |
| anchor build | |
| npm run build | |
| security: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Run security audit | |
| run: | | |
| npm audit --audit-level moderate | |
| cargo audit | |
| documentation: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Check documentation | |
| run: | | |
| # Check if README exists and has proper structure | |
| if [ ! -f README.md ]; then | |
| echo "README.md is missing" | |
| exit 1 | |
| fi | |
| # Check if API documentation exists | |
| if [ ! -f docs/API.md ]; then | |
| echo "API documentation is missing" | |
| exit 1 | |
| fi | |
| # Check if contributing guidelines exist | |
| if [ ! -f CONTRIBUTING.md ]; then | |
| echo "CONTRIBUTING.md is missing" | |
| exit 1 | |
| fi | |
| echo "All documentation files present" | |
| deploy: | |
| needs: [test, security, documentation] | |
| runs-on: ubuntu-latest | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Deploy to devnet | |
| run: | | |
| echo "Deploying to devnet..." | |
| # Add deployment commands here | |
| echo "Deployment completed" | |
| - name: Create release | |
| uses: actions/create-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: v${{ github.run_number }} | |
| release_name: Release v${{ github.run_number }} | |
| body: | | |
| ## Changes in this Release | |
| - Automated deployment from CI/CD pipeline | |
| - All tests passing | |
| - Security audit completed | |
| - Documentation updated | |
| ## Installation | |
| ```bash | |
| npm install | |
| anchor build | |
| ``` | |
| ## Testing | |
| ```bash | |
| anchor test | |
| npm test | |
| ``` | |
| draft: false | |
| prerelease: false |