chore: Sync MokoStandards workflows and configurations #71
Merged
jmiller-moko
merged 10 commits from 2026-01-30 03:43:52 +00:00
chore/sync-mokostandards-updates into main
No Reviewers
Labels
Clear labels
automation
breaking-change
bug
build
ci-cd
config
css
dependencies
deploy-failure
docker
documentation
dolibarr
duplicate
enhancement
generic
good first issue
health-check
health: excellent
health: fair
health: good
health: poor
help wanted
html
invalid
javascript
joomla
major-release
minor-release
mokostandards
needs-changelog
needs-review
needs-testing
patch-release
php
priority: critical
priority: high
priority: low
priority: medium
push-failure
python
question
regression
release
release-candidate
security
size/l
size/m
size/s
size/xl
size/xs
size/xxl
standards-drift
standards-update
standards-violation
status: blocked
status: in-progress
status: on-hold
status: pending
status: wontfix
sync-failure
sync-report
template-validation-failure
test-failure
tests
type: bug
type: chore
type: enhancement
type: feature
type: refactor
type: release
type: test
type: version
typescript
version
version-branch
version-drift
version-update
wontfix
work-in-progress
bug
chore
documentation
enhancement
feature
priority: critical
priority: high
priority: low
priority: medium
refactor
scope: client
scope: dolibarr
scope: infrastructure
scope: joomla
scope: waas
security
status: blocked
status: duplicate
status: in-progress
status: needs-review
status: wontfix
Automated processes or scripts
Breaking API or functionality change
Something isn't working
Build system changes
CI/CD pipeline changes
Configuration file changes
CSS/styling changes
Dependency updates
Automated deploy failure tracking
Docker configuration changes
Documentation changes
Dolibarr module or extension
This issue or pull request already exists
New feature or request
Generic project or library
Good for newcomers
Repository health check results
Health score 90-100
Health score 50-69
Health score 70-89
Health score below 50
Extra attention is needed
HTML template changes
This doesn't seem right
JavaScript code changes
Joomla extension or component
Major version release (breaking changes)
Minor version release (XX.YY.00)
MokoStandards compliance
Awaiting code review
Requires manual or automated testing
Patch version release (XX.YY.ZZ)
PHP code changes
Critical priority, must be addressed immediately
High priority
Low priority
Medium priority
File push failure requiring attention
Python code changes
Further information is requested
Regression from a previous working state
Release related PR
Release candidate build
Security-related changes
Large change (101-300 lines)
Medium change (31-100 lines)
Small change (11-30 lines)
Extra large change (301-1000 lines)
Extra small change (1-10 lines)
Extremely large change (1000+ lines)
Repository drifted from MokoStandards
MokoStandards sync update
Standards compliance failure
Blocked by another issue or dependency
Currently being worked on
Temporarily on hold
Pending action or decision
This will not be worked on
Bulk sync failure requiring attention
Bulk sync run report
Template workflow validation failure
Automated test failure
Test suite changes
Something isn't working
Maintenance tasks
Enhancement to existing feature
New feature or request
Code refactoring
Release preparation or tracking
Test suite additions or changes
Version-related change
TypeScript code changes
Version bump or release
Version branch related
Version mismatch detected
Version bump and release PR
This will not be worked on
Work in progress, not ready for merge
Something is not working
Maintenance and housekeeping
Documentation improvements
Improvement to existing functionality
New feature or request
Must fix immediately
Should fix soon
Nice to have
Fix when convenient
Code restructuring without behavior change
Client-specific work
Dolibarr modules and customizations
Server, CI, backups, monitoring
Joomla templates and extensions
MokoWaaS platform
Security vulnerability or hardening
Waiting on external dependency
Duplicate of another issue
Being worked on
Ready for review
Will not be addressed
No Label
Milestone
No items
No Milestone
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: MokoConsulting/MokoCassiopeia#71
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "chore/sync-mokostandards-updates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR syncs workflows, scripts, and configurations from the MokoStandards repository.
Updated files:
Files are synced based on detected platform type (terraform/generic/dolibarr/joomla).
Please review and merge if appropriate for this repository.
Pull request overview
This PR syncs workflows, scripts, and configurations from the MokoStandards repository to ensure consistency across projects. The sync includes validation scripts, XML schema definitions for repository structure validation, GitHub Actions workflows, and configuration files.
Changes:
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 31 comments.
Show a summary per file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@@ -45,0 +64,4 @@# Monitor npm dependencies for security updates- package-ecosystem: "npm"directory: "/"schedule:Hardcoded reviewer team "mokoconsulting-tech/maintainers" may not exist in all repositories where this configuration is synced. Consider making this configurable or document that repositories must have this team configured.
@@ -45,0 +66,4 @@directory: "/"schedule:interval: "monthly"open-pull-requests-limit: 1Hardcoded assignee "jmiller-moko" may not be appropriate for all repositories that sync this configuration. Consider making this configurable or removing it to let repository-specific settings take precedence.
@@ -0,0 +1,305 @@# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>Using actions/download-artifact@v7 which does not exist yet. The latest stable version is v4. This will cause the workflow to fail. Change to actions/download-artifact@v4.
The SSH key is being written to a file and used directly. Consider adding proper error handling and validation to ensure the secret is not empty before attempting to use it. Additionally, ensure that the cleanup of this sensitive file is guaranteed even if the workflow fails.
Using actions/checkout@v6 which does not exist yet. The latest stable version is v4. This will cause the workflow to fail. Change to actions/checkout@v4.
Using actions/checkout@v6 which does not exist yet. The latest stable version is v4. This will cause the workflow to fail. Change to actions/checkout@v4.
@@ -0,0 +1,193 @@# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>Using actions/checkout@v6 which does not exist yet. The latest stable version of actions/checkout is v4. This will cause the workflow to fail. Change to actions/checkout@v4.
Using actions/setup-python@v6 which does not exist yet. The latest stable version is v5. This will cause the workflow to fail. Change to actions/setup-python@v5.
Using actions/upload-artifact@v6 which does not exist yet. The latest stable version is v4. This will cause the workflow to fail. Change to actions/upload-artifact@v4.
@@ -0,0 +1,163 @@# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>The timestamp "2026-01-28T05:40:00Z" appears to be very recent (2 days before the current date of Jan 30, 2026). Ensure this timestamp is accurate and reflects the actual last modification date of this configuration.
@@ -0,0 +1,362 @@<?xml version="1.0" encoding="UTF-8"?>Same inconsistency as in waas-component.xml: this file uses both "required" boolean elements and "requirement-status" string elements. Based on the validate_structure_v2.py parser expecting "requirementStatus", all "required" elements should be converted to "requirement-status" elements for consistency.
The date "2026-01-07T00:00:00Z" is in the past relative to the current date of January 30, 2026. If this represents the last update timestamp, it should be updated to reflect the actual sync date.
@@ -0,0 +1,595 @@<?xml version="1.0" encoding="UTF-8"?>The date "2026-01-16T00:00:00Z" is in the past relative to the current date of January 30, 2026. If this represents the last update timestamp, it should be updated to reflect the actual sync date.
@@ -0,0 +1,389 @@<?xml version="1.0" encoding="UTF-8"?>The date in the metadata states "2026-01-15T00:00:00Z" which is in the past (current date is January 30, 2026). If this is meant to reflect the last update date, it should be updated to the actual sync date, or use a more recent timestamp.
Inconsistent XML element naming: this uses "requirement-status" while other files in the PR use "requirement-status" and "requirementStatus" interchangeably. The element should use "requirement-status" (with hyphen) consistently as per XML naming conventions, but the Python code expects "requirementStatus" (camelCase) when parsing. This inconsistency could cause validation issues.
Inconsistent "required" element usage. This file uses both "required" (boolean element) and "requirement-status" (string element with values like "required", "suggested", "optional"). Based on the validate_structure_v2.py parser which expects "requirementStatus", these "required" elements should be replaced with "requirement-status" elements set to "required" for consistency.
@@ -0,0 +1,450 @@#!/usr/bin/env python3Import of 'json' is not used.
Import of 'Tuple' is not used.
@@ -0,0 +1,317 @@#!/usr/bin/env python3Import of 'os' is not used.
Import of 'datetime' is not used.
@@ -0,0 +1,331 @@#!/usr/bin/env python3Import of 'os' is not used.
@@ -0,0 +1,533 @@#!/usr/bin/env python3Variable manifest_patterns is not used.
Import of 'os' is not used.
Import of 'asdict' is not used.
Import of 'Tuple' is not used.
@@ -0,0 +144,4 @@try:with open(cache_file, 'wb') as f:pickle.dump(result, f)except (pickle.PickleError, OSError):'except' clause does nothing but pass and there is no explanatory comment.
@@ -0,0 +153,4 @@for cache_file in self.cache_dir.glob("*.pkl"):try:cache_file.unlink()except OSError:'except' clause does nothing but pass and there is no explanatory comment.
@@ -0,0 +1,258 @@#!/usr/bin/env python3The copyright year states "2026" in the header. Given that the current date is January 30, 2026 (as stated in the system context), this is technically accurate but may be premature if this code was written before 2026. Consider whether this should be "2025" if the initial creation was in 2025, or maintain "2026" if this is genuinely new content from 2026.
@@ -0,0 +1,408 @@#!/usr/bin/env python3Import of 'os' is not used.
Import of 'Tuple' is not used.
@@ -0,0 +111,4 @@return "json"elif content.startswith('<?xml') or content.startswith('<'):return "xml"except Exception:'except' clause does nothing but pass and there is no explanatory comment.
@copilot open a new pull request to apply changes based on the comments in this thread
@jmiller-moko I've opened a new pull request, #72, to work on those changes. Once the pull request is ready, I'll request review from you.