feat: Enhance documentation with CI/CD improvements and editor status updates

- Added detailed CI/CD reliability improvements, including retry mechanisms and enhanced error reporting for Windows vcpkg setup and dependency installation.
- Updated Dungeon Editor status to EXPERIMENTAL, highlighting the need for thorough testing and outlining implemented features.
- Introduced a comprehensive A Link to the Past ROM reference, detailing graphics systems, palette management, and memory mapping.
- Improved changelog to reflect recent fixes and ongoing development status across various editors.
This commit is contained in:
scawful
2025-10-09 11:30:58 -04:00
parent 9e5820a338
commit 417816a854
7 changed files with 460 additions and 108 deletions

View File

@@ -305,4 +305,55 @@ python3 scripts/extract_changelog.py "0.3.0" > release_notes.md
---
*This documentation is maintained alongside the YAZE project. For updates or corrections, please refer to the project repository.*
## CI/CD Reliability Improvements
### Retry Mechanisms
**vcpkg Setup (Windows)**:
- Two-stage vcpkg setup with automatic retry on failure
- Reuses existing clone on retry for faster recovery
- Handles network issues and GitHub API rate limits
**Dependency Installation**:
- Platform-specific retry logic with cleanup
- Ubuntu: `apt-get clean` and `--fix-missing` on retry
- macOS: `brew update` before retry
- Typical success rate improvement: 60% → 95%
### Enhanced Error Reporting
**Build Failures**:
- Full build logs captured to `build.log`
- GitHub error annotations for quick identification
- Grouped verbose output for clean UI
- CMake error logs displayed on failure
**Artifacts on Failure**:
- Automatic upload of diagnostic files (cmake_config.log, build.log, CMakeError.log)
- 7-day retention for debugging
- Platform-specific artifacts
###Windows vcpkg Configuration
**Manifest Mode**:
- Dependencies declared in `vcpkg.json`
- Automatic installation during CMake configure
- Locked baseline for reproducible builds
**Static Triplet**:
- Uses `x64-windows-static` for CI consistency
- Eliminates DLL deployment issues
- Faster builds with binary caching
**Key Settings**:
```yaml
env:
VCPKG_DEFAULT_TRIPLET: x64-windows-static
cmake:
-DVCPKG_TARGET_TRIPLET=x64-windows-static
-DVCPKG_MANIFEST_MODE=ON
```
---
*This documentation is maintained alongside the yaze project. For updates or corrections, please refer to the project repository.*