Skip to main content
The Apps Image repository uses GitHub Actions to automate version checking, image building, and deployment processes. This section provides an overview of all workflows and their purposes.

Workflow Overview

Core Workflows

Check Version

Automatically detects upstream version updates and creates pull requests

Build Image

Builds and pushes Docker images to multiple registries

Build Test

Local testing workflow for ACT environment

Deploy Pages

Builds and deploys documentation to GitHub Pages

Sync README

Syncs README files to Docker Hub repositories

Workflow Triggers

Check Version Workflow

schedule
cron
Runs every 2 hours: 0 */2 * * *
workflow_dispatch
manual
Manual trigger with customizable options:
  • context: Select specific app or all apps
  • create_pr: Whether to create PR (true, false, or development)
  • debug: Enable debug mode
push
automatic
Triggers on push to master branch when:
  • apps/*/meta.json changes
  • apps/*/Dockerfile or apps/*/Dockerfile.* changes
  • base/*/meta.json or Dockerfile changes
  • test/*/meta.json or Dockerfile changes
Add [skip check] to your commit message to skip the version check workflow

Build Image Workflow

workflow_dispatch
manual
Manual trigger with options:
  • context: Required app context (e.g., apps/icones)
  • variants: Build variants (default: latest)
  • debug: Debug mode toggle
pull_request
automatic
Triggers on pull requests to master branch

Deploy Pages Workflow

on:
  push:
    branches: [master]
    paths: ['docs/**']
  pull_request:
    branches: [master]
    paths: ['docs/**']
  workflow_dispatch:
Runs when documentation files in docs/** are modified or manually triggered.

Sync README Workflow

on:
  push:
    branches: [master]
    paths:
      - apps/*/README.md
      - base/*/README.md
Automatically syncs README files to Docker Hub when modified.

Workflow Jobs

Check Version Jobs

1

Checkout Repository

Clones the repository with full history (fetch-depth: 0)
2

Cache Git Repositories

Caches cloned upstream repositories to speed up subsequent checks
3

Version Check

Executes the custom check-version action to compare versions

Build Image Jobs

1

Resolve Metadata

Uses resolve-meta action to generate build matrix from meta.json
2

Build Docker Images

Multi-platform Docker builds with caching and registry authentication
3

Merge Pull Request

Auto-merges PR after successful build (PR context only)
4

Build Apps Data

Generates docs/data.json and triggers documentation deployment

Permissions

Check Version

permissions:
  contents: read

Build Image

permissions:
  contents: read    # Read repository contents
  packages: write   # Push to GitHub Container Registry
  pull-requests: write  # Auto-merge PRs

Deploy Pages

permissions:
  contents: read
  pages: write
  id-token: write

Environment Variables

All workflows use the following timezone setting:
env:
  TZ: Asia/Shanghai

Registry Credentials

env:
  DOCKERHUB_USERNAME: aliuq

secrets:
  DOCKERHUB_USERNAME
  DOCKERHUB_TOKEN

Workflow Outputs

Metadata Job Output

The metadata resolution job outputs a matrix for parallel builds:
outputs:
  matrix: ${{ steps.metadata.outputs.matrix }}
  latest: ${{ steps.metadata.outputs.latest }}
This matrix includes:
  • Build context and Dockerfile path
  • Platform architectures
  • Image tags and labels
  • Registry push flags
  • Pre/post build scripts

Concurrency Control

Deploy Pages

concurrency:
  group: pages
  cancel-in-progress: true
Ensures only one deployment runs at a time, canceling previous runs.

Notifications

The build workflow sends Telegram notifications on successful builds:
- name: Notification
  uses: aliuq/telegram-action@v1
  with:
    bot_token: ${{ secrets.BOT_TOKEN }}
    chat_id: ${{ secrets.CHAT_ID }}
    message: |
      🎉 has new image builds
      #build_image #app_{{name}}

Next Steps

Version Checks

Learn how automatic version checking works

Image Building

Understand the Docker image build process

Build docs developers (and LLMs) love