rcourtman
1490a6e6e3
revert: remove dual-key license verification
...
Restored original license signing key from backup - key was never
compromised (private repo). Removes unnecessary dual-key complexity:
- Remove legacyPublicKey and SetLegacyPublicKey from license.go
- Simplify signature verification to single key
- Remove EmbeddedLegacyPublicKey from pubkey.go
- Remove PULSE_LICENSE_LEGACY_PUBLIC_KEY from Dockerfile and workflows
- Remove dual-key test
- Simplify mock.env
2026-02-03 21:29:21 +00:00
rcourtman
f810a003eb
license: add dual-key verification
2026-02-03 20:45:00 +00:00
rcourtman
3fdf753a5b
Enhance devcontainer and CI workflows
...
- Add persistent volume mounts for Go/npm caches (faster rebuilds)
- Add shell config with helpful aliases and custom prompt
- Add comprehensive devcontainer documentation
- Add pre-commit hooks for Go formatting and linting
- Use go-version-file in CI workflows instead of hardcoded versions
- Simplify docker compose commands with --wait flag
- Add gitignore entries for devcontainer auth files
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-01 22:29:15 +00:00
rcourtman
53e5410e55
ci: disable cancel-in-progress to stop cancellation spam
2025-12-23 18:57:51 +00:00
rcourtman
91178d2b24
Pass license public key to test Docker builds
2025-12-19 23:03:19 +00:00
rcourtman
0657fca003
Fix docker-compose command not found in integration tests
...
Replace deprecated docker-compose with docker compose (Docker CLI plugin)
on modern Ubuntu runners.
2025-12-01 00:40:00 +00:00
rcourtman
820f822476
Fix integration tests workflow missing frontend npm ci
2025-11-30 23:50:31 +00:00
rcourtman
6a1a88217f
Add release dry run workflow and API update integration test
2025-11-12 21:02:52 +00:00
Claude
2afdca4d30
Add comprehensive integration test suite for update flow
...
Implements end-to-end testing infrastructure for the Pulse update flow,
validating the entire path from UI to backend with controllable test
scenarios.
## What's Included
### Test Infrastructure
- Mock GitHub release server (Go) with controllable failure modes
- Docker Compose test environment (isolated services)
- Playwright test framework with TypeScript
- 60+ test cases across 6 test suites
- Helper library with 20+ reusable test utilities
### Test Scenarios
1. Happy Path (8 tests)
- Valid checksums, successful update flow
- Modal appears exactly once
- Complete end-to-end validation
2. Bad Checksums (8 tests)
- Server rejects invalid checksums
- Error shown ONCE (not twice) - fixes v4.28.0 issue type
- User-friendly error messages
3. Rate Limiting (9 tests)
- Multiple rapid requests throttled gracefully
- Proper rate limit headers
- Clear error messages
4. Network Failure (10 tests)
- Exponential backoff retry logic
- Timeout handling
- Graceful degradation
5. Stale Release (10 tests)
- Backend refuses flagged releases
- Informative error messages
- Proper rejection logging
6. Frontend Validation (15 tests)
- UpdateProgressModal appears exactly once
- No duplicate modals on error
- User-friendly error messages
- Proper accessibility attributes
### CI/CD Integration
- GitHub Actions workflow (.github/workflows/test-updates.yml)
- Runs on PRs touching update-related code
- Separate test runs for each scenario
- Regression test to verify v4.28.0 issue prevention
- Automatic artifact uploads
### Documentation
- README.md: Architecture and overview
- QUICK_START.md: Getting started guide
- IMPLEMENTATION_SUMMARY.md: Complete implementation details
- Helper scripts for setup and test execution
## Success Criteria Met
✅ Tests run in CI on every PR touching update code
✅ All scenarios pass reliably
✅ Tests catch v4.28.0 checksum issue type automatically
✅ Frontend UX regressions are blocked
## Usage
```bash
cd tests/integration
./scripts/setup.sh # One-time setup
npm test # Run all tests
```
See QUICK_START.md for detailed instructions.
Addresses requirements from issue for comprehensive update flow testing
with specific focus on preventing duplicate error modals and ensuring
checksum validation works correctly.
2025-11-11 09:31:52 +00:00