{
  "organization": "armbian",
  "repository": "configng",
  "actions": [
    {
      "name": "Validate JSON",
      "filename": "data-validate-json.yml",
      "category": "Data",
      "description": "Validates JSON files for empty 'author' fields, ID length, duplicate IDs, and duplicate port values in module options. Checks for specific conditions while excluding certain IDs and provides detailed feedback in the GitHub step summary. Ensures data integrity and consistency across JSON configurations.",
      "execution_method": "pull_request",
      "status_link": "https://github.com/armbian/configng/actions/workflows/data-validate-json.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/data-validate-json.yml",
      "filelength": 6269,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T16:46:50Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 20,
      "last_run_duration_seconds": 20,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Build Debian",
      "filename": "maintenance-build-debian.yml",
      "category": "Maintenance",
      "description": "Builds Debian packages for the Armbian project, specifically the 'armbian-config' package, using a predefined matrix and configuration. Executes unit tests following the package build process to ensure code quality and functionality.",
      "execution_method": "workflow_dispatch, push",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-build-debian.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-build-debian.yml",
      "filelength": 1067,
      "edited": "2026-04-09T21:11:13.000Z",
      "executed": "2026-04-20T16:47:57Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 48,
      "last_run_duration_seconds": 48,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Build docs",
      "filename": "maintenance-build-docs.yml",
      "category": "Maintenance",
      "description": "Builds documentation and a main JSON file for the project. Assembles modules and jobs for production, generates documentation using armbian-config, and creates a pull request for the updates. The process includes a commit message and details about the generated documentation and JSON files.",
      "execution_method": "push, workflow_dispatch",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-build-docs.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-build-docs.yml",
      "filelength": 1379,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T16:47:28Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 19,
      "last_run_duration_seconds": 19,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Check coding style",
      "filename": "maintenance-check-coding-style.yml",
      "category": "Maintenance",
      "description": "Checks coding style for pull requests by running an EditorConfig checker. Ensures that code adheres to defined style guidelines before merging.",
      "execution_method": "pull_request (opened, reopened, edited, synchronize, review_requested)",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-check-coding-style.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-check-coding-style.yml",
      "filelength": 459,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T16:46:40Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 10,
      "last_run_duration_seconds": 10,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Clean workflow logs",
      "filename": "maintenance-clean-workflow-logs.yml",
      "category": "Maintenance",
      "description": "Cleans up workflow logs by deleting runs older than a specified number of days, helping to manage storage and maintain a tidy environment. It can be executed on a schedule or manually with input parameters for customization.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-clean-workflow-logs.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-clean-workflow-logs.yml",
      "filelength": 726,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T02:12:35Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 78,
      "last_run_duration_seconds": 78,
      "total_runs": 4,
      "cron_schedule": "at 0 minutes past the hour, at 0:00, on Mon"
    },
    {
      "name": "Community welcome issue",
      "filename": "maintenance-community-welcome-issue.yml",
      "category": "Maintenance",
      "description": "Generates a welcome message for first-time contributors when they open an issue. It labels the issue as 'Good first issue' and sends a personalized message to encourage engagement with the project. This enhances community interaction and supports new contributors.",
      "execution_method": "Triggered on issues opened",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-community-welcome-issue.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-community-welcome-issue.yml",
      "filelength": 1053,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-16T12:28:15Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 7,
      "last_run_duration_seconds": 7,
      "total_runs": 3,
      "cron_schedule": null
    },
    {
      "name": "Desktop matrix audit",
      "filename": "maintenance-desktop-audit.yml",
      "category": "Maintenance",
      "description": "Performs a periodic audit of the desktop YAML matrix against specified repositories and package archives, identifying unsupported releases and missing packages. Generates a detailed report and utilizes Claude Code to propose YAML edits based on the audit findings. Opens a pull request with the proposed changes if actionable items are detected.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-desktop-audit.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-desktop-audit.yml",
      "filelength": 8506,
      "edited": "2026-04-13T10:10:27.000Z",
      "executed": "2026-04-20T08:58:23Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 2901,
      "last_run_duration_seconds": 2901,
      "total_runs": 10,
      "cron_schedule": "at 0 minutes past the hour, at 6:00, on Mon"
    },
    {
      "name": "Lint",
      "filename": "maintenance-lint.yml",
      "category": "Maintenance",
      "description": "Performs Shell script analysis to identify linting errors using Shellcheck on modified files in a repository. It checks for Bash shebangs and generates a report in diff format for any errors found. The analysis is limited to files that have changed in pull requests or all shell scripts if no changes are detected.",
      "execution_method": "workflow_dispatch, pull_request",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-lint.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-lint.yml",
      "filelength": 1631,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T16:46:40Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 10,
      "last_run_duration_seconds": 10,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "PR auto-label",
      "filename": "maintenance-pr-auto-label.yml",
      "category": "Maintenance",
      "description": "Automatically labels pull requests based on size, file categories, creation date, and removes the 'Ready to merge' label when updated. It categorizes PRs using a predefined configuration and assigns size labels based on the number of changed lines. Additionally, it tracks quarterly progress by labeling PRs according to their creation month.",
      "execution_method": "pull_request_target",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-pr-auto-label.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-pr-auto-label.yml",
      "filelength": 3919,
      "edited": "2026-03-23T09:40:24.000Z",
      "executed": "2026-04-20T16:46:39Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 9,
      "last_run_duration_seconds": 9,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "PR label on approval",
      "filename": "maintenance-pr-label-on-approval.yml",
      "category": "Maintenance",
      "description": "Labels pull requests as 'Ready to merge' upon successful approval and removes specified review-related labels. It fetches the pull request number from a previous workflow's artifact and updates the labels accordingly. A comment is added to indicate the approval status.",
      "execution_method": "workflow_run",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-pr-label-on-approval.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-pr-label-on-approval.yml",
      "filelength": 1978,
      "edited": "2026-04-13T10:09:40.000Z",
      "executed": "2026-04-20T06:45:30Z",
      "last_run_status": "skipped",
      "retry_count": 0,
      "total_run_time_seconds": 1,
      "last_run_duration_seconds": 1,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "PR listen review",
      "filename": "maintenance-pr-listen-review.yml",
      "category": "Maintenance",
      "description": "Saves the pull request number when a review is approved and uploads it as an artifact. It facilitates tracking and managing approved pull requests for maintenance purposes.",
      "execution_method": "pull_request_review",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-pr-listen-review.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-pr-listen-review.yml",
      "filelength": 508,
      "edited": "2026-03-04T04:24:30.000Z",
      "executed": "2026-04-20T06:45:28Z",
      "last_run_status": "skipped",
      "retry_count": 0,
      "total_run_time_seconds": 1,
      "last_run_duration_seconds": 1,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Stale",
      "filename": "maintenance-stale.yml",
      "category": "Maintenance",
      "description": "Closes inactive issues by marking them as stale after a period of inactivity and subsequently closing them if no updates are made. It sends notifications to contributors about the status of their issues. This helps maintain a clean and active issue tracker.",
      "execution_method": "workflow_dispatch, schedule",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-stale.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-stale.yml",
      "filelength": 839,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T13:58:27Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 10,
      "last_run_duration_seconds": 10,
      "total_runs": 4,
      "cron_schedule": "at 0 minutes past the hour, at 12:00, on Mon"
    },
    {
      "name": "Sync labels",
      "filename": "maintenance-sync-labels.yml",
      "category": "Maintenance",
      "description": "Syncs labels from a YAML configuration file to issues and pull requests based on modifications. Applies labels according to the definitions in '.github/labels.yml', ensuring that the correct labels are assigned during updates to the main branch or when pull requests are made. Supports a dry-run mode for pull requests to preview label changes without applying them.",
      "execution_method": "workflow_dispatch, push to main branch, pull_request",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-sync-labels.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-sync-labels.yml",
      "filelength": 934,
      "edited": "2026-03-04T04:22:22.000Z",
      "executed": null,
      "last_run_status": null,
      "retry_count": 0,
      "total_run_time_seconds": null,
      "last_run_duration_seconds": null,
      "total_runs": 0,
      "cron_schedule": null
    },
    {
      "name": "Unit tests",
      "filename": "maintenance-unit-tests.yml",
      "category": "Maintenance",
      "description": "Runs unit tests on Armbian configuration files, generating test matrices for both native and emulated architectures. It prepares the test environment, executes tests based on changes or schedules, and collects results in JSON format for reporting. The workflow handles different architectures using Docker containers and QEMU for emulation, ensuring comprehensive testing across platforms.",
      "execution_method": "workflow_dispatch, repository_dispatch, schedule, pull_request",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-unit-tests.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-unit-tests.yml",
      "filelength": 29500,
      "edited": "2026-04-20T07:48:28.000Z",
      "executed": "2026-04-20T18:43:31Z",
      "last_run_status": "failure",
      "retry_count": 0,
      "total_run_time_seconds": 6935,
      "last_run_duration_seconds": 6935,
      "total_runs": 10,
      "cron_schedule": "at 0 minutes past the hour, at 2:00"
    },
    {
      "name": "Watchdog (cronjob)",
      "filename": "maintenance-watchdog.yml",
      "category": "generic",
      "description": "Reruns failed jobs for specified scripts in a GitHub Actions workflow, ensuring stability by monitoring and restarting workflows as needed. It checks the status of previous runs and attempts to rerun failed jobs up to a defined number of attempts.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/configng/actions/workflows/maintenance-watchdog.yml",
      "script_link": "https://github.com/armbian/configng/blob/main/.github/workflows/maintenance-watchdog.yml",
      "filelength": 1501,
      "edited": "2026-01-16T15:54:14.000Z",
      "executed": "2026-04-20T18:43:14Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 6,
      "last_run_duration_seconds": 6,
      "total_runs": 10,
      "cron_schedule": "every 15 minutes"
    }
  ]
}
