feat(devops): Soroban CI, Playwright E2E Learner Journey, Multi-stage Docker Stack & Quality Gates - #1211
Conversation
…ub#1195, StellarDevHub#1200, StellarDevHub#1205 - StellarDevHub#1194: Implement zxcvbn password strength meter and HaveIBeenPwned k-anonymity breach checking - StellarDevHub#1195: Move root scripts and payloads into scripts/ directory and update README documentation - StellarDevHub#1200: Configure commitlint, husky hook, PR title linting workflow, and CONTRIBUTING.md - StellarDevHub#1205: Configure Release Drafter, release workflow, and WASM contract packaging Fixes StellarDevHub#1194 Fixes StellarDevHub#1195 Fixes StellarDevHub#1200 Fixes StellarDevHub#1205
…docker stack with redis sentinel, and quality gates (StellarDevHub#1196, StellarDevHub#1197, StellarDevHub#1198, StellarDevHub#1199)
|
Someone is attempting to deploy a commit to the Ayomide Adeniran's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@maccoder374-sudo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
| // Fallback for Node test environments | ||
| try { | ||
| const nodeCrypto = await import('crypto'); | ||
| return nodeCrypto.createHash('sha1').update(message).digest('hex').toUpperCase(); |
|
@maccoder374-sudo This PR is under review and I will get back to you if I find any wrong implementation. |
🚀 Overview & Technical Scope
This Pull Request addresses and resolves issues #1196, #1197, #1198, and #1199 by introducing a comprehensive DevOps, E2E testing, containerization, and static security quality gate infrastructure across the platform.
🛠️ Key Implementation Details
1. Soroban Smart Contract Testing CI Workflow (Closes #1196)
.github/workflows/soroban-contracts.ymlspecifically for Soroban smart contract verification and build orchestration.wasm32-unknown-unknowncompilation target,clippy, andrustfmt.Swatinem/rust-cache@v2) for fast CI execution (< 3m build targets).cargo fmt --check,cargo clippy, workspace check, unit/integration test suite, property/fuzz tests, and compiled release.wasmartifact uploads.2. Playwright E2E Learner Journey Suite (Closes #1197)
frontend/playwright.config.tsto test across Chromium, Firefox, and WebKit (Desktop Safari) rendering engines, alongside mobile viewports.frontend/e2e/tests/learner-journey.spec.tscovering complete student onboarding & course completion flows:/auth/register)/enroll)/playground)/quiz)/certificates)web3.fixture.ts..github/workflows/playwright.ymlto run Playwright E2E tests in CI and upload HTML reports, video traces, and screenshots on failure.3. Production Multi-Stage Docker Compose Stack with Redis Sentinel (Closes #1198)
frontend/Dockerfilefeaturing a 3-stage minimal image build (deps,builder,runner) executing under a dedicated non-root user (nextjs, UID 1001) with HTTP health check.backend/Dockerfileensuring non-root security compliance (nodejs, UID 1001) and layer optimization.docker-compose.ymlanddocker-compose.prod.yml:frontendcontainer service connected to the container network.redis-sentinel-1,redis-sentinel-2,redis-sentinel-3) for automatic primary failover monitoring.restart: always), health check dependencies, and ensured single-command stack bootstrap (docker compose up -d).4. SonarQube & CodeQL Static Analysis Quality Gates (Closes #1199)
.github/workflows/codeql.ymlscanning TypeScript, JavaScript, and Rust codebases for security vulnerabilities.sonar-project.propertiesspecifying target source directories (frontend/src,backend/src,contracts) and strict Quality Gate rules (0 security hotspots, < 3% duplicated code)..github/workflows/sonarqube.ymlfor automated SonarCloud / SonarQube pull request security and code smell scanning.✅ Verification & Quality Assurance
cargo test --workspacepasses cleanly with 0 failures across all contract crates.soroban-contracts.yml,playwright.yml,codeql.yml,sonarqube.yml).docker-compose.ymlanddocker-compose.prod.yml.