Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a Python script to automate the population of published and updated timestamps in app manifests using git history. Review feedback identifies regressions in the YAML serialization, specifically the escaping of non-ASCII characters, conversion of empty tags to null, and unwanted line wrapping in descriptions. A code suggestion was provided to use allow_unicode=True, increase the output width, and ensure tags are initialized as empty lists to maintain data integrity.
|
/gemini |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a Python script to automate the population of published and updated timestamps in app manifests using git history. Feedback includes a recommendation to use a custom YAML dumper to prevent unnecessary reformatting and diff noise, as well as a request to move the sys import to the top of the script.
This PR introduces two new metadata properties to all application manifests—published and updated—and establishes a GitLab CI workflow to ensure these values are automatically maintained going forward.
Key Changes
Bulk Manifest Update: Updated 1,000+ manifest.yaml files with their respective initial publication and last updated dates derived from the Git history.
UTC Time Format: Standardized all manifest dates to UTC (ISO 8601 with Z suffix) for consistency across the community repository.
Metadata Automation Script: Added a Python script in .github/scripts/update_manifests.py that extracts directory-specific Git history and updates manifests. It is designed to be:
Shallow-safe: It will not overwrite existing published dates when running in truncated CI environments.
Incremental: Supports updating specific app paths to minimize execution time.
GitHub CI Integration: Introduced a .github-ci.yml pipeline that:
Automatically updates the updated field on every push to the default branch.
Populates the published field for new applications.
Why this is needed
Providing publication and update timestamps allows users and the Tronbyt platform to better track app longevity and fresh updates, improving the overall discovery experience in the app viewer.