Commit Graph

2 Commits

Author SHA1 Message Date
e39ac97f94 fix: resolve Foundry installation issues in smart contract tests
Some checks failed
python-tests / test-specific (push) Has been skipped
security-scanning / audit (push) Failing after 6s
python-tests / test (push) Successful in 15s
smart-contract-tests / test-solidity-contracts (map[config:foundry.toml name:contracts-root path:contracts]) (push) Failing after 9s
smart-contract-tests / test-solidity-contracts (map[config:hardhat.config.ts name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 18s
smart-contract-tests / lint-solidity (push) Has been skipped
FOUNDRY INSTALLATION FIX: Resolve PATH and installation problems

Issues Fixed:
 forge: command not found after foundryup installation
 PATH not properly set in CI environment
 Shell environment not sourced correctly

Solution Applied:
 Enhanced foundryup installation with fallback method
 Explicit PATH setup in all Foundry steps
 Shell environment sourcing (.bashrc/.zshrc)
 Alternative direct installation method
 PATH persistence across all workflow steps

Changes Made:
1. Installation Step:
   - Added shell sourcing after foundryup
   - Added PATH to ~/.bashrc for persistence
   - Added fallback direct installation method
   - Enhanced verification logic

2. All Foundry Steps:
   - Added explicit PATH export
   - Added shell sourcing
   - Ensured forge/cast availability

3. Error Handling:
   - Better error messages
   - Fallback installation methods
   - Graceful failure handling

Impact:
- Foundry tools now install correctly in CI
- All smart contract tests can run properly
- Gas optimization and security analysis work
- Contract compilation and testing functional

This resolves the critical issue where Foundry tools
were not available after installation in the CI environment.
2026-03-27 22:33:09 +01:00
960af176a6 feat: add comprehensive smart contract testing workflow
Some checks failed
python-tests / test-specific (push) Has been skipped
security-scanning / audit (push) Failing after 5s
smart-contract-tests / test-solidity-contracts (map[config:foundry.toml name:contracts-root path:contracts]) (push) Failing after 3s
python-tests / test (push) Successful in 18s
smart-contract-tests / test-solidity-contracts (map[config:hardhat.config.ts name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 32s
smart-contract-tests / lint-solidity (push) Has been skipped
SMART CONTRACT TESTING: Add Foundry & Hardhat contract testing

New Workflow: smart-contract-tests.yml

Features:
 Multi-framework support (Foundry + Hardhat)
 Contract compilation and testing
 Security analysis with Slither
 Gas optimization reporting
 Contract size analysis
 Solidity linting and formatting
 Test result collection and reporting

Test Coverage:
1. Foundry Projects:
   - contracts/ directory with foundry.toml
   - forge build, forge test, forge fmt
   - Gas reporting and security checks

2. Hardhat Projects:
   - packages/solidity/aitbc-token with hardhat.config.ts
   - npm run build, npm run test, npm run lint
   - OpenZeppelin contract integration

Security Analysis:
 Slither static analysis (if available)
 Revert and failure detection
 Gas optimization reporting
 Contract bytecode size analysis

Performance Metrics:
 Gas usage optimization
 Contract size monitoring
 Compilation efficiency
 Test execution performance

Triggers:
- Push to main/develop (contracts/**, packages/solidity/**)
- Pull requests to main/develop
- Manual workflow dispatch

Service Independent:
 No systemd services required
 No blockchain node dependencies
 Uses Foundry/Hardhat local testing
 Isolated contract compilation and testing
 Fast execution with minimal dependencies

This provides critical smart contract testing for the AITBC blockchain
ensuring contract security, performance, and gas optimization without
requiring any running services.
2026-03-27 22:29:55 +01:00