{
  "organization": "armbian",
  "repository": "os",
  "actions": [
    {
      "name": "Changelog for all",
      "filename": "changelog-for-all.yml",
      "category": "generic",
      "description": "Generates a changelog for the Armbian project by loading source JSON, extracting commit information, and formatting it into an HTML report. It retrieves changes from specified branches, processes them, and uploads the results as artifacts. Finally, it creates a GitHub release with the generated changelog content.",
      "execution_method": "workflow_dispatch, schedule",
      "status_link": "https://github.com/armbian/os/actions/workflows/changelog-for-all.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/changelog-for-all.yml",
      "filelength": 8198,
      "edited": "2026-04-13T04:17:17.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": "at 0 minutes past the hour, at 0:00, on MON"
    },
    {
      "name": "Clean repository",
      "filename": "cleanup.yaml",
      "category": "generic",
      "description": "Cleans the repository by generating a JSON configuration based on supported releases and desktop environments from the Armbian build framework. It checks out the framework repository and processes configuration files to create a structured JSON output for further use in the workflow.",
      "execution_method": "workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/cleanup.yaml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/cleanup.yaml",
      "filelength": 1564,
      "edited": "2025-11-24T06:53:36.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": "Build All Stable Artifacts (cronjob)",
      "filename": "complete-artifact-matrix-all-stable.yml",
      "category": "generic",
      "description": "Builds and prepares stable artifacts and images for various boards and maintainers, generating JSON matrices for deployment. It includes version management, team checks, and artifact uploads, while allowing for customization through input parameters. The workflow also handles Docker image management and OCI checks, ensuring efficient builds.",
      "execution_method": "schedule, workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-all-stable.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-all-stable.yml",
      "filelength": 344120,
      "edited": "2026-04-20T07:15:37.000Z",
      "executed": "2026-04-20T05:24:04Z",
      "last_run_status": "cancelled",
      "retry_count": 0,
      "total_run_time_seconds": 3671,
      "last_run_duration_seconds": 3671,
      "total_runs": 10,
      "cron_schedule": "at 0 minutes past the hour, at 1:00"
    },
    {
      "name": "Build All Artifacts (cronjob)",
      "filename": "complete-artifact-matrix-all.yml",
      "category": "generic",
      "description": "Builds and prepares artifacts for multiple targets and images, managing versioning and generating necessary metadata. It checks for existing artifacts, bumps version numbers, and uploads generated files as artifacts. The workflow also includes security checks and prepares matrices for further processing of builds.",
      "execution_method": "schedule, workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-all.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-all.yml",
      "filelength": 344166,
      "edited": "2026-04-20T07:15:37.000Z",
      "executed": "2026-04-20T18:50:56Z",
      "last_run_status": "cancelled",
      "retry_count": 0,
      "total_run_time_seconds": 6291,
      "last_run_duration_seconds": 6291,
      "total_runs": 10,
      "cron_schedule": "at 0 minutes past the hour, every 8 hours"
    },
    {
      "name": "Build Apps Images (cronjob)",
      "filename": "complete-artifact-matrix-apps.yml",
      "category": "generic",
      "description": "Builds application images and manages versioning for multiple targets. Prepares artifacts and performs security checks, while allowing for customizable build parameters and options. Generates release notes and uploads artifacts for distribution.",
      "execution_method": "workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-apps.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-apps.yml",
      "filelength": 352120,
      "edited": "2026-04-20T07:15:37.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": "Build Community Images (cronjob)",
      "filename": "complete-artifact-matrix-community-maintained.yml",
      "category": "generic",
      "description": "Builds community images and manages versioning for Armbian projects. Prepares artifacts and images based on specified parameters, while allowing for nightly or stable builds. Generates release notes and uploads artifacts for download, ensuring proper version management and repository updates.",
      "execution_method": "schedule, workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-community-maintained.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-community-maintained.yml",
      "filelength": 352099,
      "edited": "2026-04-20T07:15:37.000Z",
      "executed": "2026-04-16T20:08:09Z",
      "last_run_status": "failure",
      "retry_count": 5,
      "total_run_time_seconds": 35939,
      "last_run_duration_seconds": 35939,
      "total_runs": 8,
      "cron_schedule": "at 0 minutes past the hour, at 9:00, on THU"
    },
    {
      "name": "Build Nightly Images (cronjob)",
      "filename": "complete-artifact-matrix-nightly.yml",
      "category": "generic",
      "description": "Builds nightly images and prepares artifacts for multiple targets and boards. It manages versioning, checks team membership, and uploads generated artifacts. Additionally, it supports various parameters for customization during the build process.",
      "execution_method": "schedule, push, workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-nightly.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-nightly.yml",
      "filelength": 351806,
      "edited": "2026-04-20T07:15:37.000Z",
      "executed": "2026-04-20T17:06:07Z",
      "last_run_status": "cancelled",
      "retry_count": 0,
      "total_run_time_seconds": 939,
      "last_run_duration_seconds": 939,
      "total_runs": 10,
      "cron_schedule": "at 00 minutes past the hour, at 8:00"
    },
    {
      "name": "Build Standard Support Images (admin)",
      "filename": "complete-artifact-matrix-standard-support.yml",
      "category": "generic",
      "description": "Builds standard support images for various boards and frameworks, managing versioning and generating necessary artifacts. It includes steps for checking team membership, bumping versions, and preparing JSON matrices for builds. The workflow also handles uploading artifacts and generating release notes based on the build outcomes.",
      "execution_method": "workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-matrix-standard-support.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-matrix-standard-support.yml",
      "filelength": 351668,
      "edited": "2026-04-20T07:15:37.000Z",
      "executed": "2026-04-20T11:25:10Z",
      "last_run_status": "failure",
      "retry_count": 5,
      "total_run_time_seconds": 44661,
      "last_run_duration_seconds": 44661,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Build One by One (anyone)",
      "filename": "complete-artifact-one-by-one.yml",
      "category": "generic",
      "description": "Builds Armbian images for various targets and boards based on user-defined inputs. It allows selection of kernel branches, userspace versions, user interfaces, and specific boards for the build process. The resulting images are intended for both x86 and arm64 architectures.",
      "execution_method": "workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/complete-artifact-one-by-one.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-one-by-one.yml",
      "filelength": 9103,
      "edited": "2026-04-09T21:38:26.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": "Delete Old Releases",
      "filename": "delete-old-releases.yml",
      "category": "generic",
      "description": "Deletes old releases from the repository by identifying and removing both full and pre-releases that exceed a specified limit. It processes releases based on their creation date and removes the oldest ones, ensuring only the most recent releases are retained.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/delete-old-releases.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/delete-old-releases.yml",
      "filelength": 1267,
      "edited": "2025-06-09T05:12:22.000Z",
      "executed": "2026-04-20T05:31:00Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 5,
      "last_run_duration_seconds": 5,
      "total_runs": 10,
      "cron_schedule": "at 0 minutes past the hour, at 3:00"
    },
    {
      "name": "Download update (admin)",
      "filename": "download-update.yml",
      "category": "generic",
      "description": "Downloads updates from a specified source and synchronizes them to designated servers. Checks membership for authorization, retrieves server details, and performs file synchronization using rsync. Optionally purges incoming files based on user input and refreshes web and redirector indices after synchronization.",
      "execution_method": "workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/download-update.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/download-update.yml",
      "filelength": 4099,
      "edited": "2025-11-20T05:13:46.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": "Enable Hetzner Runners (admin)",
      "filename": "enable-hetzner-runners.yml",
      "category": "generic",
      "description": "Enables and disables Hetzner cloud runners based on specified configurations, including machine type and count. Cleans up any existing dangling runners before enabling new ones, and allows for a configurable sleep period between enabling and disabling the runners. Checks team membership before proceeding with operations.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/enable-hetzner-runners.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/enable-hetzner-runners.yml",
      "filelength": 4185,
      "edited": "2024-09-29T05:58:21.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": "at 10 minutes past the hour, at 8:00"
    },
    {
      "name": "Verify installation (pull request)",
      "filename": "external.yml",
      "category": "generic",
      "description": "Verifies installation by downloading and testing external configuration files. Cancels any currently active workflows to ensure only the latest is processed. Utilizes external scripts for the download and test operations, leveraging specific secrets for secure access.",
      "execution_method": "pull_request (opened, reopened, edited, synchronize, review_requested), workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/external.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/external.yml",
      "filelength": 1293,
      "edited": "2026-03-23T06:33:59.000Z",
      "executed": "2026-04-20T14:03:33Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 1458,
      "last_run_duration_seconds": 1458,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Full distro test builds",
      "filename": "full-distro-build-and-test.yml",
      "category": "generic",
      "description": "Builds and tests full distribution images for Armbian by checking out necessary repositories, installing SSH keys, and compiling images based on specified desktop environments. It generates a JSON output containing supported releases and desktops, and executes builds in a matrix strategy for parallel processing. The workflow also includes steps for cleaning runners and logging into the GitHub Container Registry.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/full-distro-build-and-test.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/full-distro-build-and-test.yml",
      "filelength": 5084,
      "edited": "2026-03-16T07:30:29.000Z",
      "executed": "2026-04-19T08:43:10Z",
      "last_run_status": "cancelled",
      "retry_count": 2,
      "total_run_time_seconds": 8383,
      "last_run_duration_seconds": 8383,
      "total_runs": 10,
      "cron_schedule": "at 00 minutes past the hour, at 5:00"
    },
    {
      "name": "Labeler (pull request)",
      "filename": "labeler.yml",
      "category": "generic",
      "description": "Adds labels to pull requests based on modified files to facilitate organization and triage. Utilizes the 'actions/labeler' action to determine which labels to apply according to the defined rules.",
      "execution_method": "pull_request_target",
      "status_link": "https://github.com/armbian/os/actions/workflows/labeler.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/labeler.yml",
      "filelength": 428,
      "edited": "2025-11-24T06:53:36.000Z",
      "executed": "2026-04-20T13:39:24Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 10,
      "last_run_duration_seconds": 10,
      "total_runs": 10,
      "cron_schedule": null
    },
    {
      "name": "Set PR and issues labels from yaml",
      "filename": "labels-from-yml.yml",
      "category": "generic",
      "description": "Sets labels for pull requests and issues based on a YAML configuration file. It reads label definitions from '.github/labels.yml' and applies them accordingly, with a dry-run option for pull requests. The process ensures that labels are consistently applied based on the specified criteria in the YAML file.",
      "execution_method": "workflow_dispatch, push to main branch, pull_request",
      "status_link": "https://github.com/armbian/os/actions/workflows/labels-from-yml.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/labels-from-yml.yml",
      "filelength": 672,
      "edited": "2026-03-05T12:00:28.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": "Upload live patch script",
      "filename": "live-patch.yml",
      "category": "generic",
      "description": "Uploads live patch scripts by checking team membership, signing the scripts with GPG, and transferring them to a remote server. It ensures that only authorized team members can perform these actions and that the scripts are securely signed before upload. The process includes creating web-friendly versions of the scripts and using rsync for efficient file transfer.",
      "execution_method": "workflow_dispatch, push",
      "status_link": "https://github.com/armbian/os/actions/workflows/live-patch.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/live-patch.yml",
      "filelength": 1877,
      "edited": "2026-03-23T09:01:58.000Z",
      "executed": "2026-03-23T09:02:27Z",
      "last_run_status": "failure",
      "retry_count": 0,
      "total_run_time_seconds": 26,
      "last_run_duration_seconds": 26,
      "total_runs": 1,
      "cron_schedule": null
    },
    {
      "name": "Recreate Matrix (push)",
      "filename": "recreate-matrix.yml",
      "category": "generic",
      "description": "Recreates action for building stable images by checking out necessary repositories, syncing user patches, generating build lists, and creating action scripts for various Armbian targets. It automates the preparation of YAML configurations for different build scenarios, ensuring that the latest configurations are used for building images. The process includes generating lists of supported boards and maintainers, and creating multiple YAML files for different release types.",
      "execution_method": "schedule, push, workflow_dispatch, repository_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/recreate-matrix.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/recreate-matrix.yml",
      "filelength": 23088,
      "edited": "2026-03-04T04:23:50.000Z",
      "executed": "2026-04-20T07:15:43Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 172,
      "last_run_duration_seconds": 172,
      "total_runs": 10,
      "cron_schedule": "at 00 minutes past the hour, at 5:00"
    },
    {
      "name": "Redirector update (cronjob)",
      "filename": "redirector-update.yml",
      "category": "generic",
      "description": "Checks and updates mirror configurations for various packages, including debs, archives, and images. Retrieves active mirror data from a database, verifies their availability, and generates YAML configurations for a redirector based on the results. Uploads generated configurations and cleans up artifacts after processing.",
      "execution_method": "repository_dispatch, schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/redirector-update.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/redirector-update.yml",
      "filelength": 14039,
      "edited": "2026-04-13T04:17:17.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": "at 00 minutes past the hour, at 8:00"
    },
    {
      "name": "Repository Index sync (auto)",
      "filename": "repository-sync.yml",
      "category": "generic",
      "description": "Synchronizes files across stable servers and updates the web index for a repository. Retrieves primary mirror details from a database and conditionally syncs files based on their last modified date or a forced sync input. Utilizes SSH for secure file transfer and manages multiple servers in parallel.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/repository-sync.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/repository-sync.yml",
      "filelength": 4668,
      "edited": "2025-11-20T05:12:06.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": "at 0 minutes past the hour, every 4 hours"
    },
    {
      "name": "Repository update (admin)",
      "filename": "repository-update.yml",
      "category": "generic",
      "description": "Updates repository contents by downloading external packages, building them, and syncing to servers. Cleans up older packages, optionally includes partial updates, and manages SSH keys for secure file transfers. Finally, refreshes web and redirector indices after syncing.",
      "execution_method": "repository_dispatch, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/repository-update.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/repository-update.yml",
      "filelength": 9851,
      "edited": "2026-03-23T09:01:58.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": "Smoke tests (cronjob)",
      "filename": "smoke-tests.yml",
      "category": "generic",
      "description": "Runs various tests with the latest nightly codebase on real hardware, ensuring the integrity and performance of the software. It checks team membership before executing the smoke tests to validate the codebase under specified conditions.",
      "execution_method": "schedule, workflow_dispatch with inputs (gitbranch, powermanagement, betaonly), repository_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/smoke-tests.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/smoke-tests.yml",
      "filelength": 1895,
      "edited": "2023-12-11T12:03:11.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": "at 30 minutes past the hour, at 5:00"
    },
    {
      "name": "TEST TEST TEST",
      "filename": "test.yml",
      "category": "generic",
      "description": "Runs scheduled and manual tests, allowing for additional parameters and repository references. Prepares incoming data for deployment by mirroring to a CDN. Utilizes environment variables for repository management and build configurations.",
      "execution_method": "schedule, workflow_call, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/test.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/test.yml",
      "filelength": 2316,
      "edited": "2026-01-03T14:53:47.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": "at 0 minutes past the hour, every 8 hours"
    },
    {
      "name": "Watchdog (cronjob)",
      "filename": "watchdog.yml",
      "category": "generic",
      "description": "Reruns failed jobs for specified scripts in a GitHub repository by checking the status of previous workflow runs. It attempts to restart workflows up to six times if they fail or are cancelled. This process ensures that builds and tests are consistently executed, improving reliability and stability of the CI/CD pipeline.",
      "execution_method": "schedule, workflow_dispatch",
      "status_link": "https://github.com/armbian/os/actions/workflows/watchdog.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/watchdog.yml",
      "filelength": 1759,
      "edited": "2024-11-06T23:07:57.000Z",
      "executed": "2026-04-20T19:14:49Z",
      "last_run_status": "success",
      "retry_count": 0,
      "total_run_time_seconds": 9,
      "last_run_duration_seconds": 9,
      "total_runs": 10,
      "cron_schedule": "every 15 minutes"
    },
    {
      "name": "Generate Download Index in JSON (admin)",
      "filename": "webindex-update.yml",
      "category": "generic",
      "description": "Generates a JSON index of downloadable files and updates torrent files for Armbian. Checks team membership, installs dependencies, and retrieves stable files before creating a structured JSON file with metadata. Uploads the generated index and associated artifacts to a specified server location.",
      "execution_method": "repository_dispatch, workflow_dispatch, push, pull_request",
      "status_link": "https://github.com/armbian/os/actions/workflows/webindex-update.yml",
      "script_link": "https://github.com/armbian/os/blob/main/.github/workflows/webindex-update.yml",
      "filelength": 11581,
      "edited": "2026-04-13T04:17:17.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
    }
  ]
}
